【发布时间】:2020-03-09 14:46:37
【问题描述】:
我有一个带有虚拟端点的 Spring Boot 应用程序,我想在该端点上执行加特林负载测试。
毕业任务:
task testLoad(type: JavaExec) {
description = 'Test load the Spring Boot web service with Gatling'
group = 'Load Test'
classpath = sourceSets.test.runtimeClasspath
jvmArgs = [
"-Dgatling.core.directory.binaries=${sourceSets.test.output.classesDir.toString()}",
"-Dlogback.configurationFile=${logbackGatlingConfig()}"
]
main = 'io.gatling.app.Gatling'
args = [
'--simulation', 'webservice.gatling.simulation.WebServiceCallSimulation',
'--results-folder', "${buildDir}/gatling-results",
'--binaries-folder', sourceSets.test.output.classesDir.toString()
]
}
虚拟休息端点:
@RestController
public class GreetingController {
@RequestMapping("/greeting")
public Greeting greeting() {
return new Greeting("Hello, World");
}
}
我想在 gradle 中创建另一个任务来启动 Spring Boot 应用程序。
testLoad.dependsOn startSpringBoot
所以,问题是我不知道如何在 gradle 任务中启动 spring boot 应用程序:
task startSpringBoot(type: JavaExec) {
// somehow start main = 'webservice.Application'
}
然后用另一个任务关闭spring boot应用:
testLoad.finalizedBy stopSpringBoot
task stopSpringBoot(type: JavaExec) {
// somehow stop main = 'webservice.Application'
}
【问题讨论】:
标签: java spring-boot gradle groovy gradle-task