有人可以告诉我:当我在单元测试运行期间在测试资源管理器窗口中按下取消时,执行只是在那里终止然后,或者当前正在运行的测试是否实际运行完成? (或者它取决于使用哪个测试适配器?) 我正在使用VS2012。有些解决方案使用Microsoft测试适配器,有些使用NUnit(如果它有所不同)。
答案 0 :(得分:2)
两部分答案......
确实依赖于特定的适配器。测试资源管理器调用适配器的ITestExecutor.Cancel()
方法,该点之后发生的情况取决于适配器。
关于NUnit ......
如果您正在使用NUnit 3 VS适配器并使用NUnit 3框架运行测试,则通过中止正在执行当前测试(测试)的线程立即取消测试。 [Parens,因为您可能正在与NUnit 3并行运行多个测试。]没有拆分。
如果您使用的是NUnit [V2] VS适配器,则会立即终止线程并停止所有执行。没有拆机。
答案 1 :(得分:0)
执行只是在那里终止,然后,或者当前正在运行的测试是否实际运行完成?
找到陈述的文件
这会停止当前位置的测试运行。 正在运行的测试已完成,但未运行其他测试。保留当前测试运行中任何已完成测试的结果。单击“停止”更改为“已中止”时运行的测试的状态。尚未完成的测试状态从Pending to Not Executed更改。
强调我的
因此,如果可能的话,当您取消时将显示当前正在运行的测试将完成,但不会运行其他测试。
请注意,以上是MSTest的报价。我不确定其他测试跑步者。