我想知道,如果我编写自己的自定义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
。