2017-02-05 16 views
4

Я использую плагин Gatling в своем приложении для загрузки весной, чтобы выполнить тесты производительности API-интерфейсов REST, представленных как часть приложения, поэтому мне нужно, чтобы мое приложение работало до тестов gatling пробеги.Как запустить приложение весенней загрузки перед запуском интеграционного теста

Поскольку исполнение Гатлинга связано с интеграционного этапа тестирования по умолчанию, так что я попытался с помощью старт-стоп цели для предварительной интеграции фазы и последующей интеграции фазы соответственно, но становится ниже ошибки для того же:

[[ОШИБКА] Не удалось выполнить цель org.springframework.boot: spring-boot-maven-plugin: 1.5.1.RELEASE: start (pre-integration-test) по проекту: приложение Spring не запускалось до установленный тайм-аут (30000 мс -> [Справка 1]]

Просто добавьте, что хост gatling goal mvn gatling:execute работает отлично, когда приложение вставлено, но я хочу запустить его как часть фаз maven.

ответ

6

Я получил его, работая с кодом, который у меня ниже. В приведенном ниже коде запускается приложение весны в нужном профиле, а затем приступайте к выполнению ваших тестов. ShutdownHook отключит услугу.

class MicroserviceServiceSimulation extends Simulation { 

    System.setProperty("spring.profiles.default", System.getProperty("spring.profiles.default", "it")); 

    val app: ConfigurableApplicationContext = SpringApplication.run(classOf[YourApplication]) 

    Runtime.getRuntime.addShutdownHook(new Thread() { 
    override def run(): Unit = app.stop() 
    }) 

} 
+0

Спасибо, это сработало :-) – user762421