TFS 2017 - 计划的构建失败了一些单元测试,Gated checkin工作

时间:2017-09-21 14:11:49

标签: c# tfs gated-checkin

我有一个使用.NET 4.6.2和C#7的Winforms应用程序(MVP架构)。

在TFS 2017中,我们为应用提供了2个构建定义: 1.门禁登记 - 一直有效。 2周一至周五晚上11点运行的预定构建。 - 哪个不起作用。

构建定义几乎完全相同(nuget restore,VS Build with 2017,运行测试......)并构建相同的解决方案。唯一的区别是计划的夜间构建还运行代码分析并启用代码覆盖。平台&配置是任何CPU |释放。

计划的夜间构建在8次测试中失败。有些测试在SUT中调用异步方法,但其他测试非常普遍,所以我没有看到任何模式。

测试项目取决于以下nuget包:

  • MSTest.TestAdapter 1.1.18
  • MSTest.TestFramework 1.1.18
  • Moq 4.2.1507.118

我唯一看到的不同之处在于,Gated checkin在开发人员的名下排队,而预定的晚间版本则由Microsoft.TeamFoundation.System启动。

TL:DR版本: 我如何诊断为什么测试不会在晚上运行,但是使用Gated checkin可以正常工作?

1 个答案:

答案 0 :(得分:0)

请尝试以下项目来缩小问题范围:

  • 检查定义是否使用相同的构建代理(如果不是) 尝试使用相同的构建代理。
  • 为计划的构建定义部署新代理。
  • 对于除cssText选项之外的两个构建定义,保持相同。这意味着对预定的构建定义禁用Gated Check-in
  • 同时为计划定义启用code analysis and code coverage

然后再检查一下。

根据this thread,早期版本的TFS 2017上的预定构建存在问题。因此,如果您使用的是Update1 RC2之前的版本,那么您可以尝试升级到最新版本,然后再试一次。

有关版本检查,请参阅此链接:https://blogs.msdn.microsoft.com/tfssetup/2013/11/21/what-version-of-team-foundation-server-do-i-have/