2

ガトリング ロード テストを実行したいダミー エンドポイントを持つスプリング ブート アプリケーションがあります。

グラドルタスク:

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に作成したいと考えています。

testLoad.dependsOn startSpringBoot

したがって、問題は、gradle タスク内でスプリング ブート アプリケーションを起動する方法がわからないことです。

task startSpringBoot(type: JavaExec) {
    // somehow start main = 'webservice.Application'
}

次に、別のタスクでスプリング ブート アプリケーションを閉じます。

testLoad.finalizedBy stopSpringBoot


task stopSpringBoot(type: JavaExec) {
    // somehow stop main = 'webservice.Application'
}
4

2 に答える 2