我使用Visual Studio 2017创建了一个MSTest2项目,该项目面向.NET 4.5.1 当我在本地运行testcases时,一切正常,但是当我在我的git存储库(由TFS服务器托管)中提交它们时,TFS将不会发布测试结果。
我附加了部分单元测试日志文件(带错误):
2018-02-08T12:12:18.4706988Z Attachments:
2018-02-08T12:12:18.4706988Z <SOME PATH>/<FILENAME>.coverage
2018-02-08T12:12:18.4706988Z
2018-02-08T12:12:18.4706988Z Total tests: 35. Passed: 35. Failed: 0. Skipped: 0.
2018-02-08T12:12:18.4706988Z Test Run Successful.
2018-02-08T12:12:18.4706988Z Test execution time: 9.6025 Seconds
2018-02-08T12:12:18.7988091Z ##[warning]Failed to publish test results: The given path's format is not supported.
我使用的是VS2017,而.csproj文件包含以下参考资料
<Project ToolsVersion="15.0">
<PropertyGroup>
<TargetFramework>net451</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="MSTest.TestAdapter" Version="1.1.14" />
<PackageReference Include="MSTest.TestFramework" Version="1.1.14" />
</ItemGroup>
</Project>
我有什么办法可以让它在服务器上构建TFS吗? 我读过MSTest2与TFS不兼容。有没有解决方法或任何其他技术?
提前致谢。
答案 0 :(得分:1)
对于使用dotnet Core的MSTest测试项目,使用点网核心任务和测试动词,而不是VSTest任务/运行功能测试任务。
然后使用发布测试结果任务发布您的测试结果。看看下面的示例:
- 删除 Visual Studio测试任务
- 中指定值
添加 .NET Core 任务(我使用版本1。*)
一个。将命令设置为测试
湾根据您的层次结构匹配您的仓库中的测试项目 (例如:
test\**\*.csproj
)℃。在参数部分
--logger:trx
- 醇>
添加发布测试结果任务(我使用的是版本2。*)
一个。将测试结果格式设置为 VSTest
湾将测试结果文件设置为
**\*.trx
℃。 (可选)更新搜索文件夹;我是
$(System.DefaultWorkingDirectory)\test
d。检查合并测试结果选项
更多细节,您也可以参考本教程 - TFS 2017 Build- MSTest v2 tests are not recognized