Как поддерживать работу сервера puma между тестами rspec - PullRequest
0 голосов
/ 15 мая 2018

Я использую rspec и capybara для тестирования характеристик функций, которые содержат javascript.Каждый раз, когда я запускаю тест, запускается отдельный экземпляр сервера puma, например,

Capybara starting Puma...
* Version 3.11.0 , codename: Love Song
* Min threads: 0, max threads: 4
* Listening on tcp://127.0.0.1:64558

Если я запускаю полный набор тестов, этот экземпляр puma запускается только один раз, но если я отлаживаю определенныйtest, он запускается каждый раз, что может значительно увеличить общее время, необходимое для отладки.Можно ли как-нибудь запустить и запустить экземпляр тестового веб-сервера puma и поддерживать его работу между отдельными прогонами теста?

1 Ответ

0 голосов
/ 15 мая 2018

TL; DR;Не совсем

Единственный способ сделать это - запустить приложение самостоятельно, сообщить Capybara, где оно запущено (Capybara.app_host), а затем запретить Capybara запускать собственный сервер Capybara.run_server = false, как если бывы работали с Capybara против внешнего приложения.Проблема в том, что Capybara потеряет способность отслеживать завершение запроса (что требует, чтобы сервер запускался в процессе в своем собственном потоке), поэтому синхронизация сброса базы данных и т. Д. Становится большой проблемой.Это не стоит того.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...