【发布时间】:2013-06-05 04:31:09
【问题描述】:
我的 Ruby on Rails 网站采用响应式设计。我可以为视觉回归编写测试吗?例如,我的网站适合 iPhone 5 的视口而无需水平滚动。如果offset-x: hidden 未设置,并且我无意中将图像的宽度扩展到视口之外,我的站点将具有水平滚动(如下图所示)。这是不可取的。是否存在assert_horizontal_scroll(0)或assert_page_width == "480px", :viewport_width => "480px"等视觉回归测试方法?
+---------+ +---------+
| PAGE | | PAGE |
| +-----+ | | +---------+
| | IMG | | | | IMG |
| +-----+ | | +---------+
| | | |
+---------+ +---------+
编辑:让我试着澄清一下:我目前在全屏浏览器窗口中预览我的样式更改。如果我做出的更改可能会影响我的网站在移动屏幕上的显示方式,我会调整浏览器窗口的大小以匹配移动设备的尺寸,然后查看一切是否正常。我想通过单元测试在小屏幕上自动执行“查看一切是否正常”的过程,这样我就不必将浏览器的大小调整为每个设备的宽度。
编辑:另一个例子:我希望一个元素是 50% 透明的,我设置了opacity: .5。我想测试元素的不透明度,这样如果以后的 CSS 样式无意中将该元素的不透明度设置为 1,我就会知道,因为我的测试会失败。或者如果某个特定的浏览器(早期的 IE)不支持 opacity,测试也会失败。
【问题讨论】:
-
我没有尝试过这些,但PhantomCSS 或CasperJS 可能是我要找的。span>
标签: css ruby-on-rails unit-testing testing responsive-design