在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
文件。
我该如何测试?
答案 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)