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,可能是我的句子不够清楚。我的意思是,当我运行测试时,如果出现故障,会在右边显示红色条,因为我正在研究测试方法,所以我需要运行测试直到出现故障,就像我说的,[如果第一次测试未显示失败,则将继续选择其他测试用例进行测试,否则如果显示失败,则停止测试。如何写入代码以知道检测到失败。?