Я работаю над тестом SpringBoot, который не запускает ни одного тестового примера, очевидно, как побочный эффект изменения контекста springboot с помощью дополнительных bean-компонентов.
Изначально тестовые случаи из CreateServiceKeyBindingComponentTest правильно определяются идеей 2019.3 / gradle 6.0.1 / junit 5.5.2 / springboot 2.2.4 и правильно выполняются.
С некоторыми дополнительными bean-компонентами, загруженными в контексте, см. diff из commit 33ead9 , неожиданно проваливается тест со следующим сообщением, и не обнаружен тестовый случай
> Task :spring-cloud-app-broker-integration-tests:testClasses UP-TO-DATE
> Task :spring-cloud-app-broker-integration-tests:test FAILED
Test result: SUCCESS
Test summary: 0 tests, 0 succeeded, 0 failed, 0 skipped
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':spring-cloud-app-broker-integration-tests:test'.
> No tests found for given includes: [org.springframework.cloud.appbroker.integration.CreateServiceKeyBindingComponentTest](filter.includeTestsMatching)
Какие этапы устранения неполадок можно использовать в gradle / junit / springboot- контекст для исправления такого неожиданного симптома «Тесты не найдены»?
Это похоже на @ SpringBootTest, в результате чего 'Не найдено ни одного теста, включающего' , который не предоставил диагностику
Я попробовал следующие подходы без удачи
0 - остановка intellij и проверка, что демон gradle все еще не работал, до перезапуск intellij
1 - указание --debug
в аргументе gradle для получения результатов отладки не предоставило полезных журналов
2020-03-11T18:07:07.042+0100 [DEBUG] [TestEventLogger] Gradle Test Run :spring-cloud-app-broker-integration-tests:test STARTED
2020-03-11T18:07:07.052+0100 [QUIET] [system.out]
2020-03-11T18:07:07.052+0100 [QUIET] [system.out] Test result: SUCCESS
2020-03-11T18:07:07.052+0100 [QUIET] [system.out] Test summary: 0 tests, 0 succeeded, 0 failed, 0 skipped
2020-03-11T18:07:07.052+0100 [QUIET] [system.out]
2020-03-11T18:07:07.053+0100 [QUIET] [system.out] </event></ijLog>
2020-03-11T18:07:07.053+0100 [DEBUG] [TestEventLogger]
2020-03-11T18:07:07.053+0100 [DEBUG] [TestEventLogger] Gradle Test Run :spring-cloud-app-broker-integration-tests:test PASSED
2 - попытка наивного отображения подробного журнала Springboot с использованием logback не привела к дальнейшему журналы (см. full diff )
<logger name="org.springframework.test.context.junit.jupiter" level="debug" />
<logger name="org.springframework.boot.test" level="debug" />
3 - попытка запустить тест с intellij вместо gradle не приводит к дальнейшим выводам (см. связанные Обновление Intelij 2019.1 прерывает тесты JUnit )
java ... com.intellij.rt.execution.application.AppMainV2 com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 org.springframework.cloud.appbroker.integration.CreateServiceKeyBindingComponentTest
##teamcity[enteredTheMatrix]
##teamcity[treeEnded]
Полный список других диагностик, рассмотренных в файле журнала вместе со связанными коммитами
РЕДАКТИРОВАНИЕ
Ошибка "тесты не найдены ..." внезапно исчезла после того, как она постоянно воспроизводилась путем добавления / удаления ошибочных bean-компонентов в контексте весны. Я больше не могу ни воспроизвести это, ни четко определить, что это исправило в моей среде: - (
Вот промежуточные этапы, которые я пробежал, даже если они кажутся не связанными, и я не объясняю, как они могли это сделать повлияла на проблему:
0 - обновление springboot / junit / gradle в commit d9fda3 , которое не было бы должным образом перезагружено демоном intellij / gradle
1 - передача опции --scan
в сборку Gradle (которая производит сканирование сборки )
Сканирование сборки является общей и централизованной записью сборки, которая дает представление о том, что и почему.
2 - включение intellij Включить отладку скрипта Gradle option
3 - запустить сборку gradle в отладчике Idea, нажав «Отладка» в конфигурации Gradle
4 - остановка демона Gradle с помощью ./gradlew --stop