Meine E2E-Tests laufen ziemlich langsam (25 Minuten), da sie eine Reihe von Diensten aufrufen und darauf warten, dass einige Daten in der Datenbank eingetragen werden. Ich möchte es gleichzeitig ausführen. Ich verwende den folgenden maven-failsafe-plugin
Setup:Running Spock-Tests parallel
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${plugin.failsave.version}</version>
<executions>
<execution>
<id>run-integration-tests</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
Und mein Test sieht etwas wie diese (weitere Informationen können zur Verfügung gestellt werden, wenn es erforderlich ist):
@Stepwise
@DataJpaTest
@ContextConfiguration(classes = SomeControllerITConfig)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
class SomeControllerIT extends Specification {
// some variables definition
def "test1":
// some test
def "test2":
// some test
// some more tests
}
Ich versuchte threadCount
Eigenschaft verwendet wird zusammen mit parallel
oder forkCount
aber nichts funktioniert für mich. Auch habe ich versucht, die folgende Abhängigkeit in den maven-failsafe-plugin
Abhängigkeiten zu erzwingen:
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.16</version>
</dependency>
Vielen Dank im Voraus!
zu schreiben. Von was in diesem PR zu sehen ist, bezieht es sich auf parallele Ausführung von Tests in der gleichen Spec. Die klassenbasierte Parallelisierung sollte so funktionieren, wie sie ist. – jihor
@jihor nur in Gradle –