8

我对这个 .\TestResults 和测试部署混乱感到非常恼火。现在我试图完全关闭它,但没有任何效果。从这里

考虑直接在构建输出目录中运行单元测试,以便测试运行得更快。在您签入测试后,这在构建服务器上特别有用。 为此,请将 .runsettings 文件添加到您的解决方案中,包括 False,然后在“测试”、“测试设置”菜单中选择该文件。在根本不使用 DeploymentItemAttribute的任何测试运行中都会出现相同的效果。 但是,如果您使用 .testsettings 文件,则无法避免使用部署文件夹,这是 Web 和负载测试、编码的 UI 测试以及将应用程序部署到远程计算机的任何测试所必需的。

  1. 我试图创建一个只有 C# 单元测试项目的空解决方案,该项目包含单个单元测试文件,其中包含单行: string text = File.ReadAllText("test.txt");猜猜它在哪里查找这个文件?C:\Code\TestDeployment\TestResults\iLonely_ILONELY-PC 2013-02-17 13_33_37\Out\test.txt

  2. 我尝试将 test.runsettings 文件添加到解决方案中,如此所述:

      <!-- MSTest adapter -->
      <MSTest>
        <MapInconclusiveToFailed>True</MapInconclusiveToFailed>
        <CaptureTraceOutput>false</CaptureTraceOutput>
        <DeleteDeploymentDirectoryAfterTestRunIsComplete>False</DeleteDeploymentDirectoryAfterTestRunIsComplete>
        <DeploymentEnabled>False</DeploymentEnabled>
      </MSTest>
    

    我通过测试-> 测试设置-> 选择测试设置文件选择它,运行测试...结果是一样的。

谁能解释我如何从 Output\bin{Configuration} 文件夹运行测试?

重要提示:我没有 .testsettings 文件,我不使用 DeploymentItem 属性

4

2 回答 2

2

我发现这是一个 ReSharper 问题。当我通过 VS runner 运行测试时,一切正常,它从 Output\bin{Configuration} 运行。当我通过 ReSharper runner 运行测试时,无论我做什么,它都会从部署目录运行。现在,问题是:如何控制 ReSharper 测试运行器的 MSTest 部署?

于 2013-02-17T12:26:36.363 回答
2

关于如何控制 ReSharper 测试运行器的 MSTest 部署的后续问题,我遇到了同样的问题并解决了。

默认情况下,它不起作用,但您可以通过根据这些说明将 ReSharper 指向您的 .testsettings 文件来使其工作。

于 2013-09-16T22:44:32.037 回答