首页 > 解决方案 > 忽略 Junit5 中的测试

问题描述

我有一个使用 Junit5 的参数化测试。我想忽略对参数子集的测试。

问题:给定一组参数,其中一个是名为 ignoreTest 的布尔值。我想忽略其中ignoreTest为真的参数集的测试。

有没有办法做到这一点?一种方法是将所有测试代码放入 if(!ignoreTest) 中。但这将隐藏我们在 Junit 报告中忽略该测试的事实。有没有办法做得更好?

提前致谢。

标签: javatestingjunitjunit5

解决方案


assumeTrue为此使用,例如:

@ParameterizedTest
@EnumSource(TestEnum.class)
public void test(TestEnum params) {
    assumeTrue(!params.ignoreTest, "Test ignored.");
    ...
}

它在测试报告中显示为已跳过。


推荐阅读