如何在运行集成测试之前启动spring-boot应用程序

use*_*421 5 maven gatling

我在我的spring-boot应用程序中使用Gatling插件来对作为应用程序的一部分公开的REST API进行性能测试,因此需要我的应用程序在gatling测试运行之前启动.

由于Gatling执行默认情况下与集成测试阶段相关联,因此我尝试分别使用启动 - 停止目标进行预集成阶段和集成后阶段,但是同样低于错误:

[[错误]无法执行目标org.springframework.boot:spring-boot-maven-plugin:1.5.1.RELEASE:在项目上启动(预集成测试):Spring应用程序在配置的超时之前没有启动(30000ms - > [帮助1]]

只是补充一点,mvn gatling:execute当应用程序启动时,运行的gatling目标运行正常,但我想将其作为maven阶段的一部分运行.

Son*_*oku 7

我使用下面的代码.下面的代码将在您想要的配置文件中启动spring应用程序,然后继续运行测试.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()
  })

}
Run Code Online (Sandbox Code Playgroud)