2016-03-21 90 views
0

我正在设置要在构建服务器(Jenkins)上执行的单元测试。vstest.console.exe随机缺少一些测试

我注意到有时vstest决定忽略我的一些测试。他们不会被跳过或失败。他们简直被忽视,就好像他们不在那里一样。我再次运行测试版本,没有任何改变,问题就消失了。

  • 控制台日志中似乎没有vstest崩溃。它看起来像测试运行正常完成,只是总测试数量错误。
  • 我用反编译器检查了测试程序集,所有的测试方法都在那里。
  • TRX输出文件看起来完整且有效。

在下面的趋势图中,红色失败,蓝色通过。注意#78的下降?这就是我丢失的3出的13个测试:

enter image description here

,这里是从两个连续的构建vstest摘要,在没有变化之间:

#78:Total tests: 10. Passed: 6. Failed: 4. Skipped: 0.

#79:Total tests: 13. Passed: 9. Failed: 4. Skipped: 0.

有没有人遇到过这样的事情?在我陷入过分根深蒂固之前,我是否应该考虑抛弃VS测试来支持更可靠的测试框架?

回答

2

对这个错误感到抱歉。这是VS 2015中的一次回归。我在1月份修复了这个错误,修复将包含在VS 2015 Update 2中。(我是微软的软件工程师。)测试实际运行,但结果异步发回有时候我们会在所有结果被发送回测试引擎进程之前关闭测试主机进程。