如何让单元测试作为TFS2008构建的一部分运行?

时间:2012-04-13 14:24:22

标签: unit-testing visual-studio-2008 continuous-integration tfs2008 team-build

我正在尝试让我的持续集成设置为我运行单元测试,所以我已经设置了

<RunTest>true</RunTest>

我已将测试设置为自动发现:

<ItemGroup>
  <TestContainer Include="$(OutDir)%2a.Test.dll" />
</ItemGroup>

在我的开发机器上运行构建运行我的单元测试,并报告构建成功;当作为自动构建运行时,测试运行(根据BuildLog),但我在日志中看到了这一点:

  

发布测试运行结果tfs_service @ TFS-BUILD 2012-04-13 14:13:59_Any CPU_Release to http://mycompany-tfs:8080/Build/v1.0/PublishTestResultsBuildService2.asmx ...

     

。无法访问drop share目录“\ tfs-build \ Builds \ Test \ MyProduct Test_20120413.2”。

     

无法访问drop share目录“\ tfs-build \ Builds \ Test \ MyProduct Test_20120413.2”。

     

MSBUILD:警告MSB6006:“MSTest.exe”已退出,代码为1。

     

之前的错误已转换为警告,因为使用ContinueOnError = true调用了任务。

这很奇怪,因为二进制文件发布得非常愉快。

我尝试通过登录到构建服务器的控制台,运行Visual Studio 2008命令提示符,导航到源位置以及调用MSBuild来尝试诊断问题,它似乎甚至没有尝试调用单元测试?

最终,我更感兴趣的是“猜测为什么结果丢失失败” - 它可能是我的构建定义名称中的嵌入空间吗?鉴于二进制文件发布好,我还能检查什么?

1 个答案:

答案 0 :(得分:0)

单元测试正在运行,问题是结果未正确发布。运行单元测试时,结果将发布到tfs服务器,然后复制到放置位置。因此,drop share需要允许TFS构建服务帐户写入此文件夹。

http://blogs.msdn.com/b/vstsqualitytools/archive/2010/10/24/test-agent-test-controller-and-mstest-faq.aspx