有人能告诉我最终行为失败的最小例子吗?
The docs I found只是说:
expect.that(actual).isEqualTo(expected); // supplied by @Rule
用例:我想有一个测试,多个断言(对同一个对象的断言,但我希望看到所有断言失败,因为测试本身是一个长时间运行的过程)。
答案 0 :(得分:1)
Expect
旨在用作JUnit @Rule
。您将在源代码中看到在rule's apply()
method中测试完成后抛出AssertionError
。这是它的作用的简化版本:
public void evaluate() throws Throwable {
// this invokes the test, collecting failures in gatherer
base.evaluate();
// after the test finishes the failures are collected and thrown
if (!gatherer.getMessages().isEmpty()) {
throw new AssertionError(gatherer.toString());
}
}
单元测试中有example usage of Expect
(并不是说它不应该在其他地方更好地记录)。基本上,只需添加如下行:
@Rule public final Expect expect = Expect.create();
然后使用expect.that(foo)....
发出关于foo
的断言,这些断言不会导致测试失败,而是在测试完成后失败。