我有一个场景,我试图禁用参数化测试,但我不想禁用所有它们。考虑下面的模拟场景
@CsvSource({
"1,1",
"2,2",
"3,not3"
})
@ExtendWith(DisableParameterized.class)
@ParameterizedTest( name = "Test for {0} is equal to {1}")
void equality(String expected, String actual) {
assertEquals(expected, actual, "Not as expected");
}
是否可以编写一个DisableParameterized implements ExecutionCondition
可以禁用基于某些元数据的参数化测试之一。
我可以在
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext extensionContext)
是否displayName
有其他方法可以通用地提供某种元数据来禁用参数化测试?
如果我将它们标记为@Disabled,它会禁用所有 ParameterizedTests,以至于它甚至不会调用单个测试并在方法级别停止。
编辑:正如下面 Sam 所提到的,在提到的问题得到修复/实施并在更新版本中发布之前,不可能使用标准 API 来做到这一点。然而,我能够使用反射编写代码来实现我想要的,所以我在下面添加了一个答案