如何测试application.js是否在生产中异步加载

时间:2016-12-05 06:40:27

标签: ruby-on-rails rspec capybara

使用capybara,我想测试application.js文件是否异步加载。我试过以下代码

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

但这不起作用,因为在生产模式下运行测试,会添加摘要,因此文件的名称类似于application-ae5fag34.js。怎么容纳这个?

1 个答案:

答案 0 :(得分:2)

选择器script[src^="/assets/application-"][src$=".js"][async="async"]应该有效。但是,首先不应该这样做。在生产服务器上运行测试并不是一个好主意。

您应该在本地或CI服务器上运行测试,以便在它们最终投入生产之前捕获错误。许多测试导向的宝石不适用于生产,可能导致安全漏洞。