我正在从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运行时,测试具有相同的问题。
答案 0 :(得分:3)
我完全卸载了VS2010和TFS2010,然后按此顺序重新安装了所有内容:
然后我配置了构建服务器和代理。现在它按预期工作。
答案 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”语句。