如何让 espresso 测试在特定条件下失败

How to let espresso tests fail for a specific condition

对于我的浓缩咖啡测试,如果不满足特定条件,我正在寻找一种方法让所有测试在 运行 之前失败。我怎样才能做到这一点?

您尝试过 System.exit(-1) 或 System.exit(0) 吗?其中之一应该根据您要检查的条件满足您的目的。您可以阅读更多关于它们的信息 here

如何创建一个 jUnit 规则来处理这个问题?特别是验证者规则。 https://github.com/junit-team/junit4/wiki/rules#verifier-rule

Verifier 是 ErrorCollector 等规则的基础 class,它可以转 否则,如果验证检查失败,则将测试方法传递给失败的测试。

private static String sequence;

public static class UsesVerifier {
  @Rule
  public final Verifier collector = new Verifier() {
    @Override
    protected void verify() {
      sequence += "verify ";
    }
  };

  @Test
  public void example() {
    sequence += "test ";
  }

  @Test
  public void verifierRunsAfterTest() {
    sequence = "";
    assertThat(testResult(UsesVerifier.class), isSuccessful());
    assertEquals("test verify ", sequence);
  }

}