即使在完全回滚后,TeamCity 上的测试仍然失败

Tests still failing on TeamCity even after full rollback

我使用 TeamCity 10.x (Enterprise),以及用于源代码控制的 TFS。

我最近提交了一个没有破坏构建的变更集,但最终导致 10 多个测试项目中的数百个单元测试失败。这些测试在我登记后立即开始失败,所以我自然而然地认为我有错。

变更集包括以下变更:

  1. 更改各种文件的命名空间(例如,将所有测试存根移动到 "Stubs" 文件夹并更新其命名空间以以“.Stubs”后缀结尾);
  2. 更新其他文件中的 using 语句以在必要时引用这些新命名空间;
  3. 使用 Moq 库重写一些单元测试,替换 TypeMock。

我回滚了整个变更集,希望所有单元测试都能再次通过。

不幸的是,大多数测试项目继续有很多失败的测试。此外,这些失败的测试导致 VS 测试引擎跳过所有剩余的测试。这是我以前从未见过的新行为。

问题:

  1. 即使我回滚了有问题的变更集,为什么测试仍然失败?
  2. 我该怎么做才能解决这个问题?

如果我在此 post 中没有提供足够的信息,请告诉我,我会更新。

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

  • 检查您是否确实回滚了变更集。
  • 检查 TeamCity 如何获取源、获取最新的变更集或 具体变更集?
  • 尝试清理agent机器上的缓存和pervious sources(编译前清理所有文件),然后重试

    参考:Clean CheckoutClean Sources