Я пытаюсь повысить производительность тестов medium в Spring Boot.
Я использую библиотеку Spring Boot - testcontainers .
Для индивидуального теста это работает очень хорошо, с несколькими аннотациями я могу получить доступ к kafka, zookeeper и schema-registry. Это полные службы, поэтому для запуска всего требуется несколько секунд, а в целом настройка занимает около 40 секунд. Тест точно воссоздает реалистичное развертывание c, это красиво просто.
Это было бы хорошо, если бы это произошло всего один раз, но это происходит каждый раз, когда создается контекст Spring. Это означает, что каждый тест, использующий @MockBean
, требует затрат 40 секунд.
Я пробовал рефакторинг в один класс TestConfiguration и ссылался на него. Я изучал использование ContextHierarchy, но думаю, это означает, что я потеряю все тонкости Spring Boot, и мне нужно будет воссоздать контекст (что означает, что он не будет выглядеть точно так, как контекст, созданный производственным приложением).
Есть способ сделать это лучше?