Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
黄瓜中javascript的测试内容_Javascript_Google Maps_Cucumber - Fatal编程技术网

黄瓜中javascript的测试内容

黄瓜中javascript的测试内容,javascript,google-maps,cucumber,Javascript,Google Maps,Cucumber,我有一个应用程序Rails,用Cucumber进行了测试。这个应用程序有一个谷歌地图,我想要一个黄瓜步骤来测试地图是否有一些“针”(标记)。 据我所知,在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_c

我有一个应用程序Rails,用Cucumber进行了测试。这个应用程序有一个谷歌地图,我想要一个黄瓜步骤来测试地图是否有一些“针”(标记)。 据我所知,在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\u,源代码有:

<script>
  $(document).ready(map.addMarker(51.7780246, 5.97571, "Bij Ons"))
</script>
</body>

$(文档).ready(地图添加标记(51.7780246,5.97571,“Bij Ons”))
map.addMarker
是一些自定义JavaScript,它向地图添加一个标记

我(真的)对测试我的自定义JavaScript和Google maps API是否真的将调用转换为可见的pin(尽管这很好);目前,只要测试JavaScript方法是否被调用就可以了


如何测试
页面
是否包含某些JavaScript?上面
然后
步骤中的代码只测试实际内容,忽略
标记中的内容。

诀窍是不要使用
have\u content
,而是使用一个更通用的选择器,如
have\u xpath

page.should have_xpath "//script[contains(.,'map.addMarker(#{camping.latitude}, #{camping.longitude}, \"#{camping.name}\")')]"

这对我不起作用,我需要添加可见的false
页面。应该有_xpath”//script[contains(,'blah')]”,可见:false