我正在使用uiautomator运行测试。当我完成测试时,我需要测试我的结果。我的问题是一次测试失败,其他测试不会被测试。无论其他测试结果如何,我都需要测试它们。这是我的尝试:
public void testSomeUI() {
////lots of stuff
assertEquals(///assertion///);
assertEquals(///assertion///);
assertEquals(///assertion///);
....and so on
}
我也试过了:
public void testSomeUI() {
////lots of stuff
testValue1();
testValue2();
testValue3();
....and so on
}
private void testValue1(){
assertEquals(///assertion///);
}
private void testValue2(){
assertEquals(///assertion///);
}
private void testValue3(){
assertEquals(///assertion///);
}
..and so on
如果一个失败,最后三个将无法运行。有什么建议?谢谢。
答案 0 :(得分:0)
问题是,一旦断言失败,它就会突破该方法。这就是为什么剩下的都没有运行的原因。
尝试使用像JUnit这样的测试框架(UIAutomator似乎是基于它构建的)。然后为每个断言写一个方法。这样你不仅可以每次运行所有断言,还可以将测试分解为适当的小尺寸。如果它们被正确命名,您可能根本不需要调试,因为您可以通过名称确定问题确实存在的失败测试。
Here是教程的链接,例如。