2

我正在从 2010 年到 2012 年进行 TFS 服务器的测试迁移。我们采用了概念验证服务器并成功将其升级到 TFS2012。现在我们正在尝试重新利用旧的构建控制器,在 Windows 2003 上运行 TFS2010 来运行构建。建筑有点古老。它们最初是为 TFS2005 创建的,并且在过去的某个时候直接升级到 TFS2010,但仍然使用 MSBuild 脚本和升级模板。绝大多数代码库仍以 .NET 2.0 和 VS2005 为目标,尽管这将很快发生变化。

所以,这就是背景。在 TFS2012 构建控制器上,一切都成功构建并且测试运行。万岁!现在进入问题。

在 TFS1010 构建控制器上,一切构建成功,但 Web 测试“挂起”。当从命令行手动执行时,它只是说“开始执行”,然后在那里坐了几个小时,最终超时。有单元测试,它们确实会运行,所以这是 web 测试特别发生的事情。

有趣的是,TFS2012 构建控制器显然使用的是 2012 版本的 MSTest,在 \Microsoft Visual Studio 11.0\ 文件夹中,而 TFS2010 构建控制器使用的是 VS2010 版本。当我使用 VS2010 版本的 MSTest 在 2012 构建控制器上通过命令行运行相同的测试时,会出现同样的问题。

我已经确认 TFS2010 构建服务器正在运行 VS2010 Ultimate SP1,并通过 Windows 更新安装了所有适当的更新。它最初运行的是高级版,当时无法运行的网络测试实际上是有意义的。我完全卸载了 Premium,然后安装了 Ultimate。TFS2010 已修补到 SP1 并安装了 CU 2。

TFS2012 服务器正在运行更新 2。

以下是来自构建服务器的发生问题的日志:

  TeamFoundationServerUrl="http://[redacted]:8080/tfs/eCommerce" BuildUri="vstfs:///Build/Build/46594" (TaskId:4359)
  C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe /nologo /usestderr /testSettings:"G:\Builds\19\124\Sources\Main\Source\ES_[redacted].testrunconfig" /searchpathroot:"G:\Builds\19\124\Binaries\ESIntegration" /resultsfileroot:"G:\Builds\19\124\TestResults" /testmetadata:"G:\Builds\19\124\Sources\Main\Tests\WebTests\Common\SmokeTests\SmokeTests.vsmdi" /testlist:"Division1" /testlist:"Division2" /publish:"http://[redacted]:8080/tfs/ecommerce" /publishbuild:"vstfs:///Build/Build/46594" /teamproject:"Web" /platform:"Any CPU" /flavor:"ESIntegration"  (TaskId:4359)
  Loading G:\Builds\19\124\Sources\Main\Source\ES_[redacted].testrunconfig... (TaskId:4359)
  The file 'G:\Builds\19\124\Sources\Main\Source\ES_[redacted].testrunconfig' was created in an earlier version of Visual Studio. This file will be converted, in memory only, to the current format. (TaskId:4359)
  Loading G:\Builds\19\124\Sources\Main\Tests\WebTests\Common\SmokeTests\SmokeTests.vsmdi... (TaskId:4359)
   (TaskId:4359)
  Search path(s) for tests: (TaskId:4359)
  G:\Builds\19\124\Binaries\ESIntegration (TaskId:4359)
  G:\Builds\19\124\Sources\Main\Tests\WebTests\Common\SmokeTests (TaskId:4359)
  Search path(s) for default test settings: (TaskId:4359)
  G:\Builds\19\124\Sources\Main\Tests\WebTests\Common\SmokeTests (TaskId:4359)
   (TaskId:4359)
  Starting execution... (TaskId:4359)
   (TaskId:4359)
  Results               Top Level Tests (TaskId:4359)
  -------               --------------- (TaskId:4359)
  Timeout               (Division1/)SmokeTests.Division1 (TaskId:4359)
  Timeout               (Division2/)SmokeTests.Division2 (TaskId:4359)
  0/2 test(s) Passed, 2 Timeout (TaskId:4359)

请注意,从构建控制器上的 IDE 运行时,测试存在相同的问题。

4

3 回答 3

3

我完全卸载了 VS2010 和 TFS2010,然后按以下顺序重新安装了所有内容:

  1. VS2010 终极版
  2. 来自 Windows 更新的所有 VS2010 更新
  3. VS2010 SP1(也来自 Windows 更新)
  4. TFS 2010
  5. TFS 2010 SP1
  6. TFS 2010 SP1 CU2
  7. TFS 2012 兼容性 GDR

然后我配置了构建服务器和代理。现在它按预期工作。

于 2013-04-15T18:07:14.553 回答
2

仅供参考,我遇到了同样的问题。当您重新安装 VS2010 SP1 时,MSTest 适用于 VS2010,但适用于 VS2012。可能是共享组件。这是一个错误:http ://connect.microsoft.com/VisualStudio/feedback/details/728659/mstest-not-working-after-installing-vs11-next-to-vs10#

于 2013-06-21T12:42:51.460 回答
0

如果这对任何人都有帮助,我遇到了这个问题,因为我的设置脚本批处理文件中有一个“PAUSE”语句。

于 2013-05-23T20:00:56.073 回答