无法使用MSTest2在TFS构建上发布测试结果

时间:2018-02-12 13:51:47

标签: git tfs visual-studio-2017

我使用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不兼容。有没有解决方法或任何其他技术?

提前致谢。

1 个答案:

答案 0 :(得分:1)

对于使用dotnet Core的MSTest测试项目,使用点网核心任务和测试动词,而不是VSTest任务/运行功能测试任务。

然后使用发布测试结果任务发布您的测试结果。看看下面的示例:

  
      
  1. 删除 Visual Studio测试任务
  2.   
  3. 添加 .NET Core 任务(我使用版本1。*)

         

    一个。将命令设置为测试

         

    湾根据您的层次结构匹配您的仓库中的测试项目   (例如:test\**\*.csproj

         

    ℃。在参数部分

  4. 中指定值--logger:trx   
  5. 添加发布测试结果任务(我使用的是版本2。*)

         

    一个。将测试结果格式设置为 VSTest

         

    湾将测试结果文件设置为**\*.trx

         

    ℃。 (可选)更新搜索文件夹;我是   $(System.DefaultWorkingDirectory)\test

         

    d。检查合并测试结果选项

  6.         

    Soure Link

更多细节,您也可以参考本教程 - TFS 2017 Build- MSTest v2 tests are not recognized