编码的UI-尽管有错误,继续测试运行

时间:2014-05-20 09:26:31

标签: coded-ui-tests

我的测试用例包含10个以上的断言。假设在第三个断言中存在问题(即。)工具无法识别我用于第三个断言的Ui或对象。现在整个测试用例都失败了“无法找到控件”,相同测试用例的其余部分未完成。

完全运行测试用例是否可行(继续执行所有其他断言, 尽管第三个断言有误,但假设无法识别的控制仅用于第三个断言。)

问候 AMSA

1 个答案:

答案 0 :(得分:2)

唯一的方法是凌乱。编码的UI与断言一起使用,其目的在于解释为" [something]在这里应该为真,如果没有,则立即停止测试&#34 ;

有各种方法可以避免"立即停止"部分,但大多数归结为风格的代码:

try {
    ... an assertion ...
}
catch (...)
{
    ... remember and/or report the detail of the failed assertion ...
}

try {
    ... another assertion ...
}
catch (...)
{
    ... remember and/or report the detail of this failed assertion ...
}

if ( any assertion above was caught OR anything was remembered )
{
    // Something failed.
    report the remembered items
    Assert.Fail(... some message...);
}

try...catch...{}可以根据需要重复。除非您只捕获最常见的例外情况,否则catch条款可能难以编写。执行报告和记忆的代码可能会抛出异常。在try...语句之间可能存在可能失败的非断言方法的调用,因此这些方法也需要包含在try...语句中。整个测试变得非常麻烦,并且存在检测和记住故障但由于后来未处理的异常而未报告的风险。