我在VSTS中有两个构建步骤:
但是在我升级到VS2017后,-XML标签不再起作用了。我改变了第一步使用它: test --logger" trx; LogFileName = TEST-results.xml"
但第二步抛出错误" 无效的结果文件。请确保任务中的“测试结果格式”字段与文件的结果格式匹配"
还有另一种方法可以在VSTS上运行.NetCore测试吗?或者我做错了什么?
谢谢,
答案 0 :(得分:7)
<PackageReference Include="xunitxml.testlogger" Version="1.0.2-pre-rtm" />
dotnet test -a:. -l:xunit
-a:.
开关仅对于可以删除的15.1中的CLI工具V15.0是必需的(如here所述)。截至今天,VS2017 Hosted Queue使用的是15.0,因此您现在需要VSTS上的-a:.
。
-l:xunit
使用了友好名称,我认为它不是那么友好,因为您必须深入了解特定记录器的源代码以找到指定它的属性(如here所示xunit和here for trx) -l
切换的文档至少可以说是参差不齐,但在vstest的github中,有一个document讨论测试记录器以及指向其存储库和nuget包的链接,在您查看友好名称的来源之后,无论您需要哪种记录器,都可以随身携带。如果您需要自定义记录器,那么这些是帮助您了解如何实施的好例子。
最后,您最初使用的发布步骤应该没问题,因为输出文件仍称为TestResults.xml
答案 1 :(得分:3)
将“测试结果格式”更改为“发布测试的VSTest”结果步骤/任务,它会正确读取结果文件。
答案 2 :(得分:2)
使用dotnet xunit
代替dotnet test
。请参阅Getting Started with .NET Core。