2014-09-04 12 views
5

Ich versuche einen einfachen Performance-Test durch Gatling durchzuführen. Ich benutze Maven, um den Prozess zu führen. Um die Änderungen zu erleichtern, wenn Änderungen im Code meine Gatling-Tests unterbrechen, möchte ich, dass der Maven-Build fehlschlägt. Ich habe sichergestellt, <failOnError>true</failOnError> in meiner pom.xml-Datei hinzuzufügen.Fehlerhafter Maven-Build, wenn der Gatling-Test zu hoch ist. Fehler-Prozentsatz

Meine aktuelle Skript ist so etwas wie dieses:

class MySim extends Simulation { 
    val httpProtocol = http.baseURL("http://localhost:8080") 
    val scn = scenario("Test") 
     .exec(http("request_1") 
      .get("""/helloworld""") 
      .check(status.is(200)) 
     ) 
    setUp(scn.inject(ramp(1 users) over (1 seconds))).protocols(httpProtocol) 
} 

Ich betreibe den Build Maven (mit der Gatling-Maven-Plugin) mit mvn clean gatling:execute, die durchweg erfolgreich sein wird. (auch wenn der Server nicht läuft). Ich suche nach einem Weg, um sicherzustellen, dass die Maven-Builds fehlschlagen, wenn der Gatling-Test fehlschlägt (oder einen zu hohen Fehler-Prozentsatz hat).

Antwort

7

Also habe ich eine Lösung gefunden: Alles, was ich zu tun hatte, war, dem SetUp Assertionen hinzuzufügen, mit den Kriterien, die ich wollte. Der folgende Code würde also den Maven-Build nicht bestehen, wenn die Erfolgsrate weniger als 90% beträgt.

setUp(scn.inject(...)) 
    .protocols(httpProtocol) 
    .assertions(
     global.successfulRequests.percent.greaterThan(90) 
    )