Java 检测代码中的故障
有人能帮我解决我的问题吗?Java 检测代码中的故障,java,junit,robotium,Java,Junit,Robotium,有人能帮我解决我的问题吗? 我在Junit中使用Robotium测试我的程序。 我的问题是: 当我检测到junit中存在故障时,如何使用代码来检测程序中是否存在故障?所以,如果没有错误发生,我可以继续运行吗?e、 g.如果没有错误,继续测试,否则退出 当我检测到junit中存在故障时,如何使用代码来检测程序中是否存在故障?所以,如果没有错误发生,我可以继续运行吗?e、 g.如果没有错误,继续测试,否则退出 这没有多大意义。如果您在JUnit测试中失败,则表示程序中有失败。如果没有出现故障,单元测
我在Junit中使用Robotium测试我的程序。
我的问题是: 当我检测到junit中存在故障时,如何使用代码来检测程序中是否存在故障?所以,如果没有错误发生,我可以继续运行吗?e、 g.如果没有错误,继续测试,否则退出 当我检测到junit中存在故障时,如何使用代码来检测程序中是否存在故障?所以,如果没有错误发生,我可以继续运行吗?e、 g.如果没有错误,继续测试,否则退出 这没有多大意义。如果您在JUnit测试中失败,则表示程序中有失败。如果没有出现故障,单元测试将自动进行下一个测试
但也许你在问你是否能做到这一点:
// in some unit test
assert(....); // <<--- this test fails:
// Do something so that the unit test will continue to the next assertion ...
assert(....)
//在某些单元测试中
断言(..);// 我建议在测试中使用Java的内置断言。要创建断言,请执行以下操作:
assert someBoolean : message;
例如:
assert (myValue == 3) : "myValue was " + myValue + ", should have been 3";
int myVar = 5;
assert (myVar == 3) : "myVar is " + myVar + " not 3";
默认情况下,运行程序时会禁用断言。要使用断言运行程序,请按如下方式运行:
java -enableassertions MyClass
然后,如果您的程序使用此运行时选项运行,则每当到达断言时,都会发生以下情况:
如果布尔值为真,程序将继续
如果为false,则会抛出带有指定消息的AssertionError
例如:
assert (myValue == 3) : "myValue was " + myValue + ", should have been 3";
int myVar = 5;
assert (myVar == 3) : "myVar is " + myVar + " not 3";
导致
Exception in thread "main" java.lang.AssertionError: myVar is 5 not 3
如果启用了断言记住:只有使用-enableassertions
或-ea
启用断言时,才会发生所有这些情况。如果没有,则跳过断言。您可以断言条件为true或false-
assertTrue(soloObject.waitForActivity("Activity Name"));
您可以使用robotium提供的所有方法来进行断言,而不是等待某个活动。例如,isTextFound(“text”)
,isTextFound(“text”)
,isCheckBoxChecked(index)
,等等。对不起,我不是很清楚,可以解释更多或附加示例。thxSorry,可能是我的句子不够清楚。我的意思是,当我运行测试时,如果出现故障,会在右边显示红色条,因为我正在研究测试方法,所以我需要运行测试直到出现故障,就像我说的,[如果第一次测试未显示失败,则将继续选择其他测试用例进行测试,否则如果显示失败,则停止测试。如何写入代码以知道检测到失败。?