如何让浓缩咖啡测试在特定条件下失败
Posted
技术标签:
【中文标题】如何让浓缩咖啡测试在特定条件下失败【英文标题】:How to let espresso tests fail for a specific condition 【发布时间】:2018-01-17 10:22:49 【问题描述】:对于我的 espresso 测试,我正在寻找一种方法,如果不满足特定条件,则让所有测试在运行之前失败。我怎样才能做到这一点?
【问题讨论】:
我提到的条件应该是类似于互联网连接状态或类似的东西。但这里重要的一点是,如果条件不满足,则阻止所有测试运行。 【参考方案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。
【讨论】:
以上是关于如何让浓缩咖啡测试在特定条件下失败的主要内容,如果未能解决你的问题,请参考以下文章