如何在VS 2010中指定单元测试结果的位置?

8

我使用VS2010进行单元测试。你知道如何指定VS2010放置TestResults的位置吗?默认情况下,它将TestResults文件夹放置在解决方案文件夹中,我想把它移到其他地方。

谢谢, Ray。

2个回答

11

目前,无法从IDE内部进行控制。请参见http://social.msdn.microsoft.com/Forums/en/vststest/thread/4ff650e1-a99a-4bd4-8311-6007f2a6e16e

但是,如果您可以使用命令行中的MSTEST.EXE,则它将使用当前文件夹来生成TestResults文件夹。

更新:

http://blogs.msdn.com/b/vstsqualitytools/archive/2010/10/24/test-agent-test-controller-and-mstest-faq.aspx中找到了以下信息:

如何自定义默认部署目录?

您可以通过在XML编辑器中编辑测试设置文件来更改默认部署文件夹:

<Deployment userDeploymentRoot="C:\TestResults" useDefaultDeploymentRoot ="false" /> 

请注意,如果测试设置通过 XML 编辑进行修改(而不是使用默认的编辑器),则需要关闭并重新打开 VS(因为编辑是在 XML 中完成的,所以加载的设置中不会更新更改)。

祝好, Marco Kroonwijk


这是在哪里完成的?哪个文件?我以为它在解决方案中,但是VS 2010的解决方案不是XML。 - CuppM
1
算了,显然我在某个地方从我的解决方案中删除了local.testsettings文件。只需要将一个新的添加到解决方案项中即可。 - CuppM
关于userDeploymentRoot的警告 - 如果您设置了相对路径,则此属性将使用编译器的当前目录计算出完整路径。如果您从资源管理器中打开解决方案,这将计算为解决方案文件夹(一切正常),但是如果您先打开IDE,然后再打开项目,则此路径将计算为Program files中某个地方的编译器exe。只是想分享一下,以免有人被误导。 - Adam
需要指出的一个主要问题,我刚花了几个小时来解决:如果你在尝试使用设置文件中的这个设置时使用命令行 /resultsfile 开关,则部署设置将不起作用。设置文件中的其他设置似乎都可以正常工作,我尝试的所有其他命令行开关似乎都不会干扰,但是特别是那个 /resultsfile 必须覆盖设置文件中的部署行。 - Michael Adamission

0

MSTest.exe会在当前文件夹中生成结果,就像kroonwijk所说的那样,但您可以通过使用/resultsfile命令行开关来覆盖它,指定不同文件夹中的输出文件名,它还将部署一个包含测试文件的子文件夹到同一位置。

例如,“/resultsfile:c:\TestResults\mstestreport.trx”将覆盖默认部署文件夹,并覆盖设置文件中标记中的任何内容。


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