2

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

<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 到http://mycompany-tfs:8080/Build/v1.0/PublishTestResultsBuildService2.asmx ...

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

无法访问放置共享目录“\tfs-build\Builds\Test\MyProduct Test_20120413.2”。

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

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

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

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

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

4

1 回答 1

0

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

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

于 2012-10-16T04:14:08.263 回答