【问题标题】:MS Test: Getting executing testlocation?MS 测试:正在执行测试位置?
【发布时间】:2011-08-08 06:51:00
【问题描述】:

在 VS 2010 中的 MS Test 下运行测试时,如何找到执行程序集的等效路径?我需要知道测试从哪里运行,以便我可以设置它需要的数据文件的相对路径。

我正在尝试找到与在执行程序集上使用System.Reflection.Assembly.GetEntryAssembly().Location 时相同的执行测试路径。感谢您的帮助。

【问题讨论】:

    标签: c# mstest


    【解决方案1】:

    您可以使用TestContext.DeploymentDirectory 获取测试部署目录。测试配置允许您automatically deploy files 进行测试。

    【讨论】:

    • 顺便说一句,感谢“自动部署文件”链接。我正在学习 MS Test,这是一个非常有用的链接。我开始看到 MS Test 可以做其他框架做不到的事情。
    • 只有在 MSTest 部署生效时才适用。如果没有测试使用DeploymentItemAttribute,或者<DeploymentEnabled>False</DeploymentEnabled> 包含在您的.runsettings 文件中,则不会进行MSTest 部署,您的测试将直接从构建输出文件夹执行。使用下面 Nikita 建议的 AppDomain.CurrentDomain.BaseDirectory 在这两种情况下都有效,Environment.CurrentDirectory 也是如此(我不太喜欢它,因为它很容易更改)。
    • 在 MSTest2 中没有 DeploymentDirectory 属性。考虑其他答案
    【解决方案2】:

    此问题并非针对 MsTest。您可以使用在任何其他 .NET 应用程序中使用的相同解决方案。

    a similar question的回答:

    string directory = AppDomain.CurrentDomain.BaseDirectory;
    

    【讨论】:

      【解决方案3】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-26
        • 1970-01-01
        相关资源
        最近更新 更多