В JUnit 5 вы можете определить свой собственный тестовый шаблон и привязать его к аннотации. Вместо @Test или @ParameterizedTest теперь я могу использовать свою собственную аннотацию теста @MyTest (...)
Проблема в том, что Intellij не распознает эту аннотацию как аннотацию теста JUnit, поэтому не дает мне возможностьзапустить / отладить этот тест.
Могу ли я расширить этот список аннотаций, который сообщает IntelliJ, что это тест?
Изображение слева - это стандартный тест, в котором контекст показывает функцию запуска. На рисунке справа показан мой шаблон, который отлично работает, просто контекст не распознает его как тест.
Мой тестовый шаблон выглядит так:
@Target(
AnnotationTarget.ANNOTATION_CLASS,
AnnotationTarget.FUNCTION
)
@Retention(AnnotationRetention.RUNTIME)
@Execution(ExecutionMode.CONCURRENT)
@TestTemplate
@ExtendWith(ScTestExtension::class)
annotation class ScTest(
// ... some properties
)
class ScTestExtension : TestTemplateInvocationContextProvider {
override fun supportsTestTemplate(context: ExtensionContext): Boolean {
return true
}
override fun provideTestTemplateInvocationContexts(extensionContext: ExtensionContext): Stream<TestTemplateInvocationContext> {
// ... return invocation context
}
}