2016-12-05 31 views
0

使用capybara,我想測試application.js文件是異步加載的。我曾嘗試下面的代碼如何測試application.js在生產中異步加載

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

但這不起作用,因爲運行在生產模式下的測試,摘要添加,因此該文件的名稱是一樣的東西application-ae5fag34.js。如何容納這個?

+0

不完全是一個dup,但http://stackoverflow.com/questions/6874705/is-it-possible-to-use-a-css-wildcard-in-the-middle-of-an-attribute-selector應該管用。 –

回答

2

選擇器script[src^="/assets/application-"][src$=".js"][async="async"]應該工作。然而,這應該不是首先需要的。在生產服務器上運行測試並不是一個好主意。

您應該在本地運行測試或在CI服務器上運行測試,以便在最終生產之前發現錯誤。許多面向測試的寶石不適用於生產,並可能導致安全漏洞。

+0

這很有道理,我會在接受前有機會測試它。我編輯了我的問題,以表明我的意思是在我的開發服務器上運行測試,但在生產模式下運行。 – Obromios