通过命令行运行时MSTest执行卡住了

时间:2013-08-01 17:32:15

标签: tfs continuous-integration mstest ui-automation

我试图在基于CI的WPF应用程序上运行UI测试(使用Windows Automation API)。我已将我的解决方案与.testsettings文件相关联,并将我的测试.dll链接到构建过程。一切似乎都很好。

当我排队新的构建时,在TFS的构建日志中,我可以看到在构建机器上传递给MSTest(2010)的命令行参数 - 看起来.testsettings文件已正确加载并且正确的测试.dll是传递给MSTest.exe。

然而,它似乎在Executing tests消息之后“卡住” - 无论是在运行构建时还是直接通过构建机器运行它。另外,我在.testsettings文件中指定了一个在测试之前运行的启动脚本(它在本地复制应用程序的二进制文件,以便测试可以启动应用程序并运行适用的测试)。此脚本似乎未执行(文件应复制到的目录为空)。

有没有人见过类似的问题,知道如何处理它?<​​/ p>

1 个答案:

答案 0 :(得分:4)

正如迈克在评论中所说,问题实际上是VS 2010中的一个错误,如果您并排安装了VS 2012,则无法通过2010 IDE运行测试。遗憾的是,我无法在构建计算机上安装VS 2010 SP1,但也可以通过在标准命令行语法中添加/noisolation参数来解决问题(这通过MSTest流程运行测试,以某种方式解决了这个问题)。

但是,由于您无法通过TFS的集成自动化测试功能定义要传递给MSTest的其他参数,因此我编写了自己的应用程序,该应用程序作为计划任务调用,运行测试并发送包含HTML报告的电子邮件(我使用过{ {3}}为此 - 请注意,如果您使用的是VS2012,那么您将需要beta 0.7版本,因为自VS 2010以来,.trx格式发生了变化。)