使用 XUnit.Net 和 VS2017 捕获测试输出
Posted
技术标签:
【中文标题】使用 XUnit.Net 和 VS2017 捕获测试输出【英文标题】:Capturing test output with XUnit.Net and VS2017 【发布时间】:2017-09-09 09:29:24 【问题描述】:VS2017 社区版预装了 Xunit 的测试项目模板。我有一个 Dotnet Standard 1.4 类库和一个 Dotnet Core 1.1 XUnit 测试项目。这很好用,一切都构建好了,我可以从 Visual Studio 测试资源管理器运行所有测试,如果我的测试写入 ITestOutputHelper,测试资源管理器会显示一个“输出”链接,我可以在其中查看测试的输出。
问题是,如果我有大量测试,我不想点击每个测试,然后点击每个“输出”链接才能查看结果。相反,我想在某种输出文件中查看结果。
Xunit 文档表明它确实能够以 xml 格式输出测试结果。
http://xunit.github.io/docs/format-xml-v2.html
但它没有解释如何让它做到这一点。
如何让 Xunit 将测试输出保存到文件中?
【问题讨论】:
你能从命令行而不是 VS Test Explorer 运行测试吗? dotnet 测试 -xml /some/path/out.xml。见线程github.com/dotnet/cli/issues/3114 【参考方案1】:xUnit logger 可以生成 xUnit v2 格式 (https://xunit.github.io/docs/format-xml-v2.html) 的 xml 报告。
在测试项目中添加对 xUnit Logger nuget 包的引用。
在测试中使用以下命令行:
dotnet test --test-adapter-path:. --logger:xunit
测试结果在相对于test.csproj
的TestResults
目录中生成。报告文件的路径可以指定如下:
dotnet test --test-adapter-path:. --logger:xunit;LogFilePath=loggerFile.xml
loggerFile.xml
将在与test.csproj
相同的目录中生成。
【讨论】:
以上是关于使用 XUnit.Net 和 VS2017 捕获测试输出的主要内容,如果未能解决你的问题,请参考以下文章
STM-32:TIM输入捕获—输入捕获模式测频率/PWMI模式同时测量频率和占空比
|测| Taylor GS Mini-e BassGS Mini-e KoaWalnut vs Standard