执行Web测试时MSTest挂起

时间:2013-04-12 13:42:02

标签: tfs2010 mstest tfsbuild tfs2012

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

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

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

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

我已确认TFS2010构建服务器正在运行VS2010 Ultimate SP1,并通过Windows Update安装了所有适当的更新。它最初运行的是Premium,而网络测试在这一点上实际上没有用。我完全卸载了Premium,然后安装了Ultimate。 TFS2010已修补到SP1并已安装CU 2.

TFS2012服务器正在运行Update 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运行时,测试具有相同的问题。

3 个答案:

答案 0 :(得分:3)

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

  1. VS2010 Ultimate
  2. Windows Update的所有VS2010更新
  3. VS2010 SP1(也来自Windows Update)
  4. TFS 2010
  5. TFS 2010 SP1
  6. TFS 2010 SP1 CU2
  7. TFS 2012 Compatibility GDR
  8. 然后我配置了构建服务器和代理。现在它按预期工作。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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