【问题标题】:How to let espresso tests fail for a specific condition如何让浓缩咖啡测试在特定条件下失败
【发布时间】:2018-01-17 10:22:49
【问题描述】:

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

【问题讨论】:

  • 我提到的条件应该是类似于互联网连接状态或类似的东西。但这里重要的一点是,如果条件不满足,则阻止所有测试运行。

标签: android ui-testing android-espresso android-instrumentation


【解决方案1】:

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

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

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);
  }

}

【讨论】:

    【解决方案2】:

    您是否尝试过 System.exit(-1) 或 System.exit(0) ?根据您要检查的情况,其中之一应该可以满足您的目的。你可以阅读更多关于他们的信息here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-15
      • 1970-01-01
      相关资源
      最近更新 更多