我有一个使用 Cucumber 测试的应用程序 Rails。这个应用程序有一个谷歌地图,我想要一个 Cucumber-step 来测试该地图是否有一些“引脚”(标记)。据我所知,在 DOM 中找不到 pin,所以我想简单地测试一下页面是否map.addMarker()
使用某些参数调用。
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 和 Google 地图 API 是否真的将该调用转换为可见的 pin(尽管那会很整洁);现在只需测试该 JavaScript 方法是否被调用就可以了。
如何测试是否page
包含某些 JavaScript?上述步骤中的代码Then
仅测试实际内容并省略<script>
标签中的内容。