Чтобы подтверждено, что мое расположение работает на различных размеров экрана мои приемочные испытания на самом деле выглядит следующим образом:Run спецификации для различных размеров экрана
require "spec_helper"
[:small, :medium, :large].each do |size|
feature "Some feature", js: true, screen_size: size do
scenario "Some scenario" do
# ...
end
end
end
В моей спецификации помощника я configued RSpec использовать before(:each)
блок, чтобы изменить свой браузер окно.
RSpec.configure do |config|
config.before(:each) do
if example.metadata[:js]
if example.metadata[:screen_size]
resize_browser_window(example.metadata[:screen_size])
else
resize_browser_window(:large)
end
end
end
То, что я на самом деле хотел сделать что-то вроде этого:
require "spec_helper"
feature "Some feature", js: true, devices: [:small, :medium, :large] do
scenario "Some scenario" do
# ...
end
end
, а затем использовать around(:each)
блок для запуска сценариев для каждого размера экрана:
RSpec.configure do |config|
config.around(:each) do |example|
if example.metadata[:devices]
example.metadata[:devices].each do |size|
resize_browser_window(size)
example.run
end
end
end
end
Это работает только частично. Пример выполняется для каждого определенного устройства, но окно вообще не изменяет размер.
Есть ли у кого-нибудь намек на меня?