首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >针对不同的屏幕大小运行规范

针对不同的屏幕大小运行规范
EN

Stack Overflow用户
提问于 2013-11-28 19:02:26
回答 1查看 136关注 0票数 1

为了验证我的布局可以在不同的屏幕尺寸上工作,我的验收测试实际上是这样的:

代码语言:javascript
运行
复制
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

在我的spec helper中,我将rspec配置为使用before(:each)块来调整浏览器窗口的大小。

代码语言:javascript
运行
复制
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

我实际上想做的事情是这样的:

代码语言:javascript
运行
复制
require "spec_helper"

feature "Some feature", js: true, devices: [:small, :medium, :large] do
  scenario "Some scenario" do
    # ...
  end
end

然后使用around(:each)块针对每种屏幕尺寸运行场景:

代码语言:javascript
运行
复制
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

这只起到了部分作用。该示例针对每个已定义的设备运行,但窗口根本不会调整大小。

有谁能给我个提示吗?

EN

回答 1

Stack Overflow用户

发布于 2013-11-28 19:34:49

我找到了一个解决方法来归档所需的行为:

代码语言:javascript
运行
复制
RSpec.configure do |config|
  config.around(:each) do |example|
    if example.metadata[:devices]
      example.metadata[:devices].each do |size|
        example.metadata[:screen_size] = size
        example.run
      end
    end
  end
  config.before(:each) do
    if example.metadata[:js]
      if example.metadata[:screen_size]
        resize_browser_window(example.metadata[:screen_size])
      end
    end
  end
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20264335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档