1
我有一个应用程序,Rails,用黄瓜测试。这个应用程序有一个谷歌地图,我想要一个黄瓜步骤来测试该地图是否有一些“引脚”(标记)。 据我所知,在DOM中找不到引脚,所以我想简单地测试页面是否调用map.addMarker()
与某些参数。javascript在黄瓜中的测试内容
Then /^I should see the top 50 campings on the map$/ do
Camping.geocoded.top(50).each do |camping|
page.should have_content /map\.addMarker\(#{camping.latitude}, #{camping.longitude}, "#{camping.name}"\)/
end
end
的页面在那被充满content_for
底部的脚本标签,来源有:
<script>
$(document).ready(map.addMarker(51.7780246, 5.97571, "Bij Ons"))
</script>
</body>
map.addMarker
是一些自定义JavaScript,增加了一个标记到地图中。
我没有(真的)有兴趣测试我的自定义JavaScript和谷歌地图API是否真的把这个调用变成了一个可见的引脚(尽管那样会很整洁);现在简单地测试一下JavaScript方法是否会被调用。
如何测试page
是否包含某些JavaScript?上述步骤Then
中的代码仅测试实际内容并省略<script>
标记中的内容。
这并没有为我工作,我需要添加上可见的伪'page.should have_xpath“//脚本[contains(。,'blah')]“,visible:false' – 2014-01-31 16:51:06