我在WebUI上运行基于selenium的UnitTests,而不是TFS 2015(Update 1)中的resular构建步骤different mechanism。这样做会生成一个.trx文件,我尝试将其上传回TFS,以便在构建概述中提供结果。
如果任何测试失败,运行UnitTests的构建步骤可能会失败,但是我不会在TFS中看到任何测试结果。我可以通过在步骤中选中“继续错误”来跳过失败。
接下来,我可以包含一个“发布测试结果”步骤,该步骤将拾取生成的trx文件,结果将在构建中显示。
但是知道构建不会失败!
任何想法都是如何使构建失败并获得测试结果?
我查了一下:
必须有更好的方法。在我看来,构建步骤'发布测试结果'应该能够检查文件并使构建失败?
答案 0 :(得分:2)
我使用“命令行”任务调用“ParallelTestRunner.exe”来在构建期间运行测试。
这样,如果测试失败而没有选中“继续出错”选项,则构建将在此步骤停止,“发布测试结果”步骤将不会运行,这与您获得的行为相同。如果测试失败且选中“继续出错”选项,则测试步骤将标记为“已通过”,并且将运行“发布测试结果”步骤以发布测试结果。但我的最终构建状态不是“成功”,而是“构建部分成功”。
但是,如果您想要使测试步骤失败并仍然运行“发布测试结果”步骤,则可以取消选中测试步骤中的“出错时继续”选项,并选中“发布测试结果”的“始终运行”选项步。即使先前的步骤失败,这也将确保“发布测试结果”步骤始终运行。
顺便说一句,“发布测试结果”步骤只发布测试结果,它不检查结果。基于构建定义中所有构建步骤的执行状态,构建将被传递/失败。