У меня есть серия модульных тестов, которые все должны общаться с сервером Apache Zookeeper.Очевидно, что если бы у меня была библиотека для поддельных подключений к серверу (или простой способ прокрутить мои собственные), это было бы оптимально, но, насколько я могу судить, на данный момент ничего не существует, и под капотом достаточно движущихся частей, которые я сомневаюсьчтобы попробовать это вручную.
Итак, наше решение до сих пор заключалось в том, чтобы локально установить фиктивный сервер, выполнить тесты, а затем отключить его в конце.Такого рода работы, хотя, насколько я могу судить, нет простого способа заставить Surefire что-то делать один раз за весь тестовый прогон - в лучшем случае у меня есть @BeforeClass
и @AfterClass
украшения.
Процесс инициализации Zookeeper превращает несколько миллисекундных тестовых прогонов в несколько секунд для каждого класса, что длится несколько минут для всего проекта.Если бы я мог настроить тесты таким образом, чтобы он работал на сервере, выполнял каждый тест, а затем разрывал его, я думаю, что я бы увидел ускорение, по крайней мере, на порядок.
Есть простойисправить?Я поступаю об этом неправильно?Если есть существующая библиотека mock-zookeeper или простой способ развернуть мою собственную, это тоже прекрасное решение.