2015-03-13 1 views
5

У меня есть интеграционный тест с аннотациями на нем:весна загрузки тестирования - передать аргументы командной строки

@WebAppConfiguration 
@ActiveProfiles("integration") 
@ContextConfiguration(loader = SpringApplicationContextLoader, classes = [MyApplication]) 
@IntegrationTest(["server.port=0"]) 

я могу передать, например server.port собственности, чтобы проверить контекст, но есть ли способ передать аргументы командной строки? Моя заявка запускается следующим образом:

public static final void main(String[] args) { 
    SpringApplication.run(AnkaraCollectorApplication.class, args); 
} 

и я хочу передать некоторые аргументы для проверки контекста. Есть ли для этого свойство?

ответ

0

Если вы используете Maven, вы можете пройти тест JVM арг внутри отказоустойчивой плагина:

<plugin> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> ... <configuration>
<argLine> whatever you want: -DhelloWorld=Test </argLine> </configuration> ...

Вы также можете установить JVM аргументы, основанные на профиле Maven, что Ваш, исполняющих:

<profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- Development JVM arguments --> <test-arguments>-Dhello=true</test-arguments> <!-- Default environment --> <environment>develop</environment> </properties> </profile> ... <plugin> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> ... <configuration>
<argLine>${test-arguments}</argLine> </configuration> ...

+0

Но мне нужно передать аргументы командной строки. Я использую некоторую библиотеку, в которой есть Spring ApplicationListener, и этот прослушиватель использует аргументы командной строки из ApplicationEnvironmentPreparedEvent.getArgs(). Я должен сделать то, что getArgs() вернет мои аргументы. – wjtk

+0

Проблема в том, что интеграционный тест не вызывает ваш метод Application.main. Это только проверка аннотаций. Где вы используете эти аргументы команды? – jfcorugedo

 Смежные вопросы

  • Нет связанных вопросов^_^