期待(最后失败)

时间:2017-01-13 12:13:24

标签: google-truth

有人能告诉我最终行为失败的最小例子吗?

The docs I found只是说:

expect.that(actual).isEqualTo(expected); // supplied by @Rule

用例:我想有一个测试,多个断言(对同一个对象的断言,但我希望看到所有断言失败,因为测试本身是一个长时间运行的过程)。

1 个答案:

答案 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的断言,这些断言不会导致测试失败,而是在测试完成后失败。