Запускайте интеграционные тесты, только если установлен определенный профиль пружины - PullRequest
0 голосов
/ 15 ноября 2018

У нас есть несколько тестовых классов в нашем приложении весенней загрузки.Некоторые из классов содержат интеграционные тесты, некоторые содержат модульные тесты.Это означает, что если я (например, с maven) разрешу выполнять все тесты, он будет запускать все тесты во всех классах.

Что мне нравится делать, так это то, что интеграционные тесты выполняются только при определенной пружинепрофиль устанавливается, например, через application.yml.Мне нравится, например, аннотировать весь класс тестов, чтобы определить, что тесты в этом классе выполняются, только если задан указанный профиль пружины.Если он не установлен, эти тесты должны игнорироваться.

Итак, что можно сделать для достижения этой цели?Обратите внимание, что есть много вопросов о тестах и ​​профилях пружин при переполнении стека.Но большинство из них указывают, как настроить конфигурации в тестах, специфичных для пружинных профилей.Это не то, что я ищу.Я хотел бы выполнить или проигнорировать тесты.

1 Ответ

0 голосов
/ 26 ноября 2018

Я не знаю точно, как вы хотите этого добиться, но есть способ, если вы используете junit для условного игнорирования некоторых тестов во время выполнения, просто используя свойство конфигурации:

application.properties:

test.enabled=true

тогда в вашем тестовом коде вы можете использовать org.junit.Assume и свойство, подобное следующему:

@Value("${test.enabled}")
private Boolean testEnabled;

@Test
public void test {
    org.junit.Assume.assumeTrue(testEnabled);
    // your test code
}

теперь, если вы установите для свойства test.enabled значение true, тест будет запущенв противном случае он будет проигнорирован.

Источник: Условно игнорируем тесты в JUnit 4

...