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