Приложение My Spring Boot также запускает службу gRPC вместе со своей службой REST (HTTP). Я написал специальные тесты для gRPC и REST. Когда я запускаю gradle test , эти тесты запускаются последовательно; нет причин, по которым они не могут работать параллельно.
Здесь я снимаю один экземпляр моего приложения Spring Boot, работающего в то время, когда тесты выполняются параллельно.
Я попытался установить секцию test в моем файле Gradle, чтобы он имел 'forkCount', я также попытался установить параметры, такие, что параллельный = "классы", но это выдает ошибку о "параллельном 'будучи неизвестной собственностью (может быть, вещь с джунит 5?)
test {
options {
parallel = "classes"
// forkCount = 2
}
}
Параметр forkCount - это не то, что мне нужно, поскольку он запускает несколько экземпляров приложения Spring.
Я также попытался удалить @ RunWith из тестовых классов и создать отдельный тестовый класс (с аннотацией @ RuWith ), в котором есть следующий метод
@Test
void testRunner() {
JUnitCore.runClasses(ParallelComputer.classes(), {GrpcTests.class, RestTests.class});
}
Но похоже, что тесты все еще выполняются последовательно.
Я пробовал и другие вещи, извините, у меня не все под рукой.
Цель
В идеале то, на что я надеюсь, это один экземпляр моего приложения Spring Boot, работающего в то время, когда тестовые классы работают параллельно ( бонус, если я тоже смогу заставить методы работать параллельно )
- Java-версия: "1.8.0_171"
- Spring Boot Версия: 2.0.4.RELEASE
В соответствии с рекомендацией я попытался добавить
@Test
public void contextLoads() throws Exception {
}
И добавляя запись ' maxParallelForks ' в файл gradle, я уже использовал аннотацию @ SpringBootTest , но она действовала так же, как и при использовании forkCount `в том, что по крайней мере 2 экземпляра, с которых начался запуск, как видно из журнала выключения теста
2019-04-25 10:24:17.245 LogLevel=INFO 53838 --- shutting down gRPC server since JVM is shutting down
...
2019-04-25 10:24:30.125 LogLevel=INFO 53839 --- shutting down gRPC server since JVM is shutting down
Вы видите, что я получаю два сообщения о завершении работы и отображаются PID (53838 и 53839).