运行测试后保存单元测试结果

6
在Visual Studio 2013中,运行所有的Visual Studio单元测试会显示测试结果、调用堆栈、异常信息和失败测试的堆栈跟踪。有没有办法保存测试结果,在测试执行后,以便我可以打开先前运行的测试?
我阅读了一些帖子,解释说失败的测试结果被保存在TestResults文件夹中,而成功的测试则被删除。不幸的是,在运行测试后,无论是失败还是成功的测试结果,在TestResults文件夹中都不会保留。
我尝试创建并使用一个.runsettings文件,并将元素设置为false,但这没有改变任何东西。
有人知道如何保留测试结果以供以后检查吗?
4个回答

5

你好,我遇到了同样的问题。我的解决方法是使用命令控制台。

你需要使用位于C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow的VSTest.console.exe。

你应该使用Visual Studio命令提示符前往该位置。之后输入:VSTest.console yourFullProjectPath\YourTestProject\bin\reléase\YourTest.dll /logger:trx

完成后,你可以在C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\TestResults找到结果。

祝好!


虽然这样做不能让我在 Visual Studio 中运行单元测试,但是从命令控制台运行测试将会按需存储结果。这似乎是我能够接近想要的最接近的方法。 - Mort
我在那个文件夹中没有看到dll文件。 - munchschair

5
在 Visual Studio 2019 中,只使用 GUI 而无需使用命令行,最接近“报告”的方法是选择要导出的测试(可以使用 CTRL+A 选择全部),然后使用 CTRL+C 进行复制。

Just select them all like this

随后,您可以将其粘贴到任何文本编辑器或Excel电子表格中,它看起来会有点奇怪,就像这样:

Result after pasting to Excel

正如您所看到的,第一列显示了测试名称和结果。但是,通过在Excel中进行一些操作,您可能会得到更漂亮的结果 :)


这只适用于选定的测试用例。在我的情况下,我已经按特征分组,所以 ctrl + A 对我无效,但手动选择这些用例可以正常工作。 - Nilay Mehta

2
在 Visual Studio 17 中,您可以通过从测试资源管理器中复制测试来转储测试结果:

enter image description here

然后,粘贴到一些文本编辑器中:

enter image description here


3
在2019版的VS中,我只有“复制详细信息”选项,它提供了关于测试结果的基本信息,如“持续时间:0:26:02.626,14个测试失败,0个测试跳过,22个测试通过”。如果你使用的是2019版,你是否也有这个选项呢? - ruffin
1
刚发现这个问题,经过2年和VS升级 :D ,不,VS 2019中没有这样的选项。 - Tadija Bagarić

-2
在你的测试中尝试插入以下内容。
TestContext->AddResultFile( "MyTestFile.txt" );

敬礼


在TestInitialize阶段调用TestContext.AddResultFile,并没有改变任何东西。 - Mort

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