У меня есть сценарий, в котором я пытаюсь отключить параметризованные тесты, но я не хочу отключать их все. Рассмотрим приведенный ниже сценарий макета
@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
, который может отключить один из параметризованных тестов на основе некоторых метаданных.
Единственную правильную информацию, которую я могу разобрать насчет ParameterizedTests в
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext extensionContext)
- это displayName
Есть ли какой-либо другой способ общего предоставления метаданных определенного типа для отключения параметризованных тестов?
, если я отмечу их как @Disabled , он отключает все ParameterizedTests до такой степени, что он даже не вызывает отдельные тесты и останавливается на уровне метода.
Редактирование: Как упомянуто Сэмом ниже, это невозможно сделать с помощью стандартного API пока указанные проблемы не будут исправлены / реализованы и выпущены в более новой версии. Однако я смог написать код, используя отражение, чтобы достичь того, чего хотел, поэтому я добавил ответ ниже