0

我有一个启用了 .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
  • 起订量 4.2.1507.118

我看到的唯一不同的是,Gated checkin 以开发人员的名义排队,而预定的晚上构建是由 Microsoft.TeamFoundation.System 启动的

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

4

1 回答 1

0

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

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

然后再次检查。

根据这个帖子,TFS 2017 早期版本的计划构建存在问题。因此,如果您使用的是早于 Update1 RC2 的版本,那么您可以尝试升级到最新版本,然后再试一次。

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

于 2017-09-22T03:23:40.503 回答