即使断言之一失败,仍在junit4中继续测试执行
我已经使用Jfunc构建了现有框架,该框架提供了即使测试用例中的一个断言失败时也可以继续执行的功能。Jfunc使用junit
3.x框架。但是现在我们正在迁移到junit4,所以我不能再使用Jfunc,而已将其替换为junit 4.10 jar。
现在的问题是,因为我们在框架中广泛使用了jfunc,并且使用junit 4,我们希望使我们的代码即使在测试用例中一个断言失败时也可以继续执行。
有没有人对此有任何建议/想法,我知道在junit中测试需要更加原子化,即每个测试用例一个断言,但由于某种原因我们不能在框架中这样做。
回答:
您可以使用ErrorCollector规则执行此操作。
要使用它,首先将规则添加为测试类中的字段:
public class MyTest { @Rule
public ErrorCollector collector = new ErrorCollector();
//...tests...
}
然后用调用替换您的断言collector.checkThat(...)
。
例如
@Testpublic void myTest() {
collector.checkThat("a", equalTo("b"));
collector.checkThat(1, equalTo(2));
}
以上是 即使断言之一失败,仍在junit4中继续测试执行 的全部内容, 来源链接: utcz.com/qa/403145.html