Мне нужно протестировать наш почтовый сервер в проекте clojure. Для этого я подумал, что открою макет сервера и отправлю электронные письма, используя этот макет сервера, и проверю, отправлены ли они. Для этого я нашел, например, этот сервер.
Чтобы иметь возможность выполнять
lein test
и протестировать каждый тест, мне нужно запустить SMTP-сервер один раз перед каждым тестом и один раз в конце. Я также могу запустить сервер в приспособлении и выйти из него после каждого теста. Поскольку я запускаю около 100 тестов, нет смысла всегда запускать и выключать сервер.
Мои подходы, которые я думал, следующие:
1 — я пишу bash-скрипт, который запускает (макет) почтовый сервер, запускает lein test, а затем выключает сервер. (Здесь я теряю простоту выполнения теста Лейна в среде IDE)
2- Я мог бы проверить, запущен ли сервер, и запустить его, если нет. Однако после завершения теста сервер все еще будет работать, что нежелательно.
Как правильно решить эту проблему?
Могу ли я заказать тесты в clojure таким образом, чтобы последний тестовый файл отключал почтовый сервер?