3

Мои тесты E2E работают довольно медленно (25 минут), так как они называют кучу сервисов и ожидают, что некоторые данные будут заполнены в базе данных. Я хочу запустить его одновременно. Я использую следующие настройки: maven-failsafe-pluginПараллельно выполняются тесты Spock

<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> 

И мой тест выглядит примерно так (больше информации может быть обеспечена, если это необходимо):

@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 
} 

Я пытался использовать threadCount свойство вместе с parallel или forkCount, но ничего не работает для меня. Кроме того, я пытался заставить следующую зависимость в maven-failsafe-plugin зависимостей:

<dependency> 
     <groupId>org.apache.maven.surefire</groupId> 
     <artifactId>surefire-junit47</artifactId> 
     <version>2.16</version> 
</dependency> 

Спасибо заранее!

ответ

3

я в конечном итоге со следующим вопросом на GitHub:

https://github.com/spockframework/spock/issues/691

Комментарий или независимо от того, если вы также заинтересованы в параллельном выполнении теста в Спока.

Короче говоря, я нашел запрос на растяжение с возможностью параллельного выполнения, и он даже слит в одну из ветвей. Однако он еще не слит с мастером. Таким образом, единственный выход, который я вижу на данный момент, - написать свой собственный BaseSpecRunner

+0

Из того, что видно в этом PR, это связано с параллелизацией выполнения тестов в том же Spec. Распараллеливание на основе классов должно работать нормально, как есть. – jihor

+0

@jihor в Gradle только –

Смежные вопросы