Можно ли глобально настроить RSpec для использования драйвера JavaScript Capybara (по умолчанию или пользовательского) для всех спецификаций запросов? Иногда мы забываем вручную добавлять js: true
к каждой спецификации запроса, и это немного раздражает.
Настройте RSpec для использования Capybara.javascript_driver для всех спецификаций запросов.
Ответы (3)
В spec_helper.rb установите следующее:
config.before(:each) do
if example.metadata[:type] == :request
Capybara.current_driver = :selenium # or equivalent javascript driver you are using
else
Capybara.use_default_driver # presumed to be :rack_test
end
end
person
prusswan
schedule
31.10.2012
Это работает, но я хотел бы ограничить это запросом спецификаций. Конечно, я мог бы поместить эту строку в каждый файл спецификации запроса, но я хотел бы настроить ее глобально. Вроде как вы можете включать определенные модули для определенных типов спецификаций.
- person rubiii; 01.11.2012
есть ли аналогичный обходной путь для rspec 3? пример сейчас не определен
- person noli; 12.02.2014
Для более поздних версий capybara и rspec важно проверить, является ли тип «функцией».
config.before(:each) do
if [:request, :feature].include? example.metadata[:type]
Capybara.current_driver = :poltergeist # or equivalent javascript driver you are using
else
Capybara.use_default_driver # presumed to be :rack_test
end
end
или для RSpec 3 (пропустить example
в блок)
config.before(:each) do |example|
if [:request, :feature].include? example.metadata[:type]
Capybara.current_driver = :poltergeist # or equivalent javascript driver you are using
else
Capybara.use_default_driver # presumed to be :rack_test
end
end
person
justingordon
schedule
10.03.2013
Если вы используете RSpec ›= 3, вам нужно будет написать первую строку, например
config.before(:each) do |example|
, чтобы получить такое же поведение. Подробнее через @joshua-muheim здесь: stackoverflow.com/a/24571607/2948832
- person styger; 16.12.2014
Обратитесь к этому решению, если вы хотите запустить все тестовые случаи одновременно.
Rspec+Capybara при необходимости может изменить драйвер JS
person
hacker_1989
schedule
12.11.2015
Поместите соответствующую информацию в сообщение.
- person gre_gor; 12.11.2015