Нужно ли запускать Webrick перед запуском Cucumber с Selenium? - PullRequest
2 голосов
/ 05 ноября 2011

Если я использую cucumber / capybara с веб-драйвером selenium для тестирования, нужно ли открывать сервер rails в отдельном терминале перед выполнением cucumber?

(В настоящее время я запускаю его с открытым сервером, но получаю сообщение об ошибке «база данных заблокирована» из sqlite, что, по моему мнению, является конфликтом огурцов и вебрика)

1 Ответ

2 голосов
/ 05 ноября 2011

Вам не нужен активный сервер Rails для запуска тестов Cucumber, и наличие работающего сервера (Webrick, Mongrel и т. Д.) Не должно влиять на вашу БД, если вы не используете одну и ту же БД для тестирования и разработки.Наборы тестов раскручивают свою собственную копию рельсов и должны использовать базу данных «AppName-Test» (по умолчанию) для тестирования.

База данных заблокирована, это происходит во время первого теста или позже втестирование?Если тестирование выполняется позже, возможно, у вас есть транзакция БД с лагером, которая выполняется при переходе к следующему тесту.Если вы думаете, что это так, бросьте 'sleep 30' в конце первого теста, чтобы проверить ... дайте DB немного остыть.Если это решит проблему, поищите в коде все, что выполняет ненормально длинные транзакции с БД.

Хорошим дополнением к тестированию будет:,Надеюсь, это поможет вам выбрать правильный путь.

...