1
100
好吧,我刚注意到一个模式,我想我已经弄明白了(如果我错了,请纠正我)。在我看来,失败是当测试用例失败时——也就是说,您的断言是不正确的。错误是在尝试实际运行测试异常等时发生的意外错误。 |
2
13
如果您的测试抛出了一个异常,这个异常不会通过JUnit中的断言框架冒泡,那么它会被报告为一个错误。例如,空指针或ClassNotFound异常将报告错误:
或者,
尽管如此,以下将报告失败:
或者,
甚至:
这取决于您使用的JUnit版本。JUnit4-将区分故障和错误,但JUnit4只将其简化为故障。 以下链接提供了更有趣的输入: |
3
4
从Java 8的语用单元测试与JUnit: JUnit中的断言(或断言)是您放入的静态方法调用 你的测试。每个断言都是一个机会来验证 成立。如果一个断言的条件不成立,测试就停止了。 在那里,JUnit报告了一个测试失败。 (JUnit运行测试时,也可能引发异常,并且 没有被抓住。在本例中,JUnit报告一个测试错误。) |
4
4
下面的测试解释了 测试错误与测试失败 .我已经对引发测试错误和测试失败的行进行了注释。
因此,JUnit在您得到异常时显示测试错误,在您期望的结果值与实际值不匹配时显示测试失败。 |
5
2
源类:junitreportreporter.java
你可以在上面的方法中看到下面一行
当它是断言错误的实例时,错误计数会增加,否则(任何可丢弃的)都会被计为失败。 |