自定义测试规则
两者都有好处。扩展 ExternalResource
很方便,特别是如果我们只需要一个 before()
来设置一些东西。
但是,我们应该知道,因为 before()
方法是在 try...finally
之外执行的,所以如果在执行 before()
期间出现错误,则在 after()
中执行清理所需的任何代码都不会被执行。
这就是它在 ExternalResource
中的样子:
before();
try {
base.evaluate();
} finally {
after();
}
显然,如果在测试本身或其他嵌套规则中抛出任何异常,则仍将执行 after。