我想知道是否有任何方式使用和不使用而无需复制代码JavaScript的运行黄瓜情况下运行黄瓜场景。如何使用和不使用的JavaScript代码,避免重复
我开发利用html5导航的网站。但是,如果浏览器不支持html5功能,它应该可以找到。
我想编写黄瓜测试,将测试导航。 我知道我可以用简单的黄瓜场景来测试基本的html导航。我可以使用相同的场景测试html5导航,但使用@javascript标记。
我更喜欢以避免此代码重复。 我周围挂钩尝试,希望我可以简单的调用块,然后调用相同的块与
Capybara.using_driver(Capybara.javascript_driver) { block.call }
然而,这是行不通的。
任何人有任何想法如何实现这一点?
P.S. 我对Ruby很新,刚开始使用黄瓜。
我想我宁愿写预处理器,可以提取需要有和没有@javascript执行步骤。这种方式的覆盖率将是一致的 – acube
刚刚使用这种方法在头几个小时,我的头撞在桌子上。只有第一个方案使用javascript_driver(如果没有@javascript标记)运行,因为current_driver在下一个方案运行之前重置为default_driver。如果你想所有的场景与javascript_driver运行,那么你需要设置default_driver Capybara.default_driver = Capybara.javascript_driver –