我想知道,如果我编写自己的自定义RunNotifier(并覆盖默认方法),那么在测试失败时会自动调用诸如fireTestFailure()之类的方法吗?

http://junit.sourceforge.net/javadoc/org/junit/runner/notification/RunNotifier.html#RunNotifier()

另一种询问方式:是否可以像覆盖和使用自定义RunListener方法一样使用此方法?

最佳答案

RunNotifier由执行测试的类调用。它为测试调用每个RunListener(可以有多个)。如果要实现自己的Runner,则可能要实现自己的RunNotifier,但通常不需要。是Runner调用RunNotifier,依次调用每个RunListener

如果要实现自己的Runner,请查看JUnitCore,它几乎可以完成您想要的所有事情。然后对于每个测试失败,您将调用RunNotifier。如果您从JUnitCore继承,那么大多数方法已经存在。

如果您只是想了解测试进度,请使用RunListener

07-24 13:29