gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 18:02:27 24 4
gpt4 key购买 nike

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

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

[ [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.1.RELEASE:start (pre-integration-test) on project : Spring application did not start before the configured timeout (30000ms -> [Help 1] ]



只是添加运行加特林目标 mvn gatling:execute当应用程序启动时运行得很好,但我想将它作为 maven 阶段的一部分运行。

最佳答案

我用下面的代码让它工作。下面的代码将在您想要的配置文件中启动 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()
})

}

关于maven - 如何在运行集成测试之前启动 spring-boot 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42053420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com