在脚本代码

时间:2016-05-09 00:07:47

标签: ruby-on-rails rspec capybara

在rspec功能测试中,我想测试是否存在以下代码

<script src="/assets/application.js" async="async"></script>

如果我尝试

page.should have_css 'script', src: "/assets/application.js", async: 'async'

我收到:src, :async无效密钥的错误消息。我想使用测试来确保在heroku上异步加载application.js文件。

我该如何测试?

1 个答案:

答案 0 :(得分:1)

有几个问题:首先,默认情况下,Capybara找不到不可见的元素(包括脚本标记)。其次:src和:async不是Capybara所知道的事情。解决方法是在css选择器中包含src和async需求,并传递visible: false选项,以便Capybara找到不可见的元素。

page.should have_css('script[async="async"][src="/assets/application.js"]', visible: false)