идеи
у меня такой кейс - я над тестом пишу аннотацию @EnabledIfEnvironmentVariable(named = "my", matches=".*") (т.е. если у меня в енве есть my (неважно какое значение) - то тест включай
когда запускаю такой тест из идеи - он все равно запускается, хотя в енве у меня такого нет явно
обнаружил, что в параметры запуска vm передается такое -Djunit.jupiter.conditions.deactivate=org.junit.*Enabled*Condition, на что junit скипаем (деактивирует) мою аннотацию
эти параметра запуска в идее формируются тут https://github.com/JetBrains/intellij-community/blob/master/plugins/junit/src/com/intellij/execution/junit/DisabledConditionUtil.java#L83C32-L83C32 , а в vm args добавляются тут https://github.com/JetBrains/intellij-community/blob/master/plugins/junit/src/com/intellij/execution/junit/TestObject.java#L569
т.е. тут код ищет аннотации (в моем случае EnabledIfEnvironmentVariable), находит ее и явно дизейблит
вопрос - зачем они так делают? как от этого увернуться?
или это я чет не так понимаю и код в идее корректный?
Я обычно check таску дёргаю. Сделайте так же и будет ок
а что за check таска?
У вас гредл или мавен?
у нас свое (ни то, ни другое, ни треть (ант))
Обсуждают сегодня