Как указать параметры командной строки Maven в файле POM?
У меня есть цель, которая всегда будет работать с определенными параметрами. Я не хочу указывать их снова и снова и хочу включить их в файл POM, чтобы даже когда другая цель вызывала эту цель, эти параметры рассматривались для выполнения.
Эти параметры не должны находиться в глобальной области видимости, поскольку они предназначены только для области проверки.
У меня есть код в Spring-Boot, который использует профили. Если я запускаю тест с -Dspring.profiles.active=TEST
ожидаемый результат происходит. Так бегать failsafe:integration-test
цель с -Dspring.profiles.active=TEST
необходимо.
1 ответ
У вас есть два варианта: указать активные профили в тесте, который требует их:
@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("TEST")
public class MyServiceTest {
@Autowired
MyService myService;
@Test
public void testServiceInitialized() throws Exception {
// ...
}
это также позволяет IDE напрямую запускать тест.
Второй вариант - дать знать плагину failsafe о передаче этого параметра -D в тесты:
http://maven.apache.org/surefire/maven-failsafe-plugin/integration-test-mojo.html
Поэтому либо установите свойство "argLine", которое содержит эти параметры, либо настройте плагин. При таком подходе эти тесты будут запускаться только с использованием maven - в IDE вам, возможно, придется воспроизвести эту конфигурацию - некоторые умные пользователи сделают это автоматически.
Если вам также нужно указать Spring boot для включения некоторых профилей, плагин spring-boot разрешает это напрямую: http://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-profiles.html