【问题标题】:Generating Unit Test Reports in Visual Studio 2013在 Visual Studio 2013 中生成单元测试报告
【发布时间】:2015-03-03 09:53:00
【问题描述】:

我在 Visual Studio 2013 的 C# 项目中有一组单元测试。 有没有办法从单元测试结果生成报告?

我需要一份报告作为测试运行时间和结果的证据。我不是指在线 CI 服务器报告,我只是指本地文件报告。 VS2013有什么不错的插件吗?

我查看了带有 XML 输出的 NUnit 插件,但它不是很准确,显示的很多数据都是重复的和不准确的(例如我的操作系统类型)。我目前坚持使用 Visual Studio MSTest 测试框架。

【问题讨论】:

  • 由于测试将在每台开发人员的机器上运行,您可能希望了解一种集中运行这些报告的方法。构建和使用 CI(持续集成)服务器,并在触发构建时生成报告。
  • 这听起来像是一个很棒的系统设计,我会研究一下,谢谢。然而,它的“生成报告”阶段阻止了我。我没有看到任何可用于在 Visual Studio 2013 或任何外部工具(Nunit 除外)中生成任何正式报告的功能,但我不是一个超级粉丝。我认为报告将是必要的
  • 如果您搜索您选择的 CI 服务器和“单元测试报告”或“代码覆盖率报告”,您应该挖掘出您需要的所有信息。 IE。如果您有可用的许可证,TFS 可能是显而易见的选择,或者您可以查看其他 CI 服务器,例如 TeamCity 或 CruiseControl。

标签: c# visual-studio visual-studio-2012


【解决方案1】:

我建议在命令行中使用vstest.console.exe 来生成如下结果:

vstest.console.exe YourTestProject.dll /Logger:trx

结果将以以下格式保存:“username_PCName YYYY-MM-DD HH_MM_SS.trx” 然后导航到输出结果的文件夹并使用trx2html(这是适用于VS2012+的版本)将结果转换为 html 报告!

trx2html.exe “username_PCName YYYY-MM-DD HH_MM_SS.trx”

我知道你说过你想要一个插件,但也许这会适合你的目的!

【讨论】:

  • 在哪里可以获得 trx2html.exe?我从 vwww.codeplex.com/trx2html 下载 zip 文件。但它有 4 个文件夹和更多子文件夹。你知道 trx2html.exe 在哪里吗?谢谢
【解决方案2】:

您可能最好做的是设置持续集成和持续交付。

例如我们公司已经设置了以下流程:

Jenkins(管理流程) SVN TRIGGER -> MSBUILD -> UNIT TESTS(Nunit) -> SONAR -> DEPLOYMENT(MSDEPLOY) -> SMOKE TESTS(部署成功了吗?) -> ROLLBACK(MSDEPLOY) -> SELENIUM TESTS

在此过程中,如果任何单元测试无法正常工作,我们会遵守代码并停止构建破坏程序,基本上,如果其中任何一个失败,您就无法部署。这个想法是万无一失的。交付管道可视化工具也很酷。

您可以在命令行上将 XML 报告从 Nunit 拉到 Sonar 中,我自己也遇到了一些问题,但是您需要在检查测试之前重新构建并针对 dll 文件本身运行测试。

希望这会有所帮助。

【讨论】:

  • 谢谢,它很有用,但我正在寻找一个插件,它将单元测试结果从 Visual Studio 输出到 XML 或 Word 文档中。因为我需要在本地生成一个报告,而不是与 CI 服务器相比,它不是我所需要的。但感谢您提供的信息。
  • 很公平,它并不适合所有人,我会作为评论发表,但当时我没有足够的积分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多