如何在VS2012中关闭测试部署

8

我对这个\TestResults和测试部署的混乱感到非常烦恼。 现在我正在尝试完全关闭它,但是什么都不起作用。 从这里得知:

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

  1. I tried to create an empty solution with only C# Unit Test project that contains single unit test file with single line in it: string text = File.ReadAllText("test.txt"); And guess where it looks up this file? C:\Code\TestDeployment\TestResults\iLonely_ILONELY-PC 2013-02-17 13_33_37\Out\test.txt

  2. I tried to add test.runsettings file to the solution, as described here:

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

    I selected it through Test -> Test settings -> Select test settings file, ran tests... And the result was the same.

请问有人能够解释一下如何从Output\bin{Configuration}文件夹中运行测试吗?

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


任何使用相对路径名加载文件的代码都是有问题的。你的测试已经显示了这个问题,不要怪罪于测试者。 - Hans Passant
2
我写了这个测试只是为了看它在哪里查找文件以及在哪里运行测试。所以它本来就应该失败。 - ptkvsk
2个回答

3

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


我也遇到了使用VS2012 + Resharper时的这个烦人问题,有人知道答案吗? - nrjohnstone
不,我开始使用TestDriven.NET来运行我的测试。它完全正常,而且比使用ReSharper运行要快得多。但它没有漂亮的结果UI。 - ptkvsk

2
关于如何控制MSTest部署到ReSharper测试运行器的后续问题,我刚遇到了同样的问题并解决了它。默认情况下,它不起作用,但是您可以按照这些说明指向ReSharper的.testsettings文件来使其工作。请注意保留HTML标签。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接