0

在我的Rails應用程序中,我使用了rails_admin,我需要集成測試它。 我正在使用capybara和minitest進行集成測試。 點擊儀表板中的鏈接後,我需要檢查當前頁面的路徑和預期的路徑。Rails Admin:集成測試,如何獲取模型的指定路徑

我想使用rails_admin提供的命名路由。 我想:

assert_equal page.current_url, app.rails_admin.dashboard_url 

這給正確的URL在控制檯但在集成測試不起作用。我在這裏錯過了什麼。

在此先感謝,

回答

0

得到它的工作,Wiki頁的rails_admin幫助。 https://github.com/sferik/rails_admin/wiki/Rspec-with-capybara-examples

我在不同的子域上有管理面板。 rails_admin_url具有正確的路徑rails_admin.dashboard默認情況下,url沒有子域,所以我作爲選項傳遞。有用。

assert_equal page.current_url, rails_admin.dashboard_url(subdomain: 'admin') 
# Also following works 
assert_equal page.current_url, rails_admin.index_url(model_name: 'post',subdomain: 'admin') 

直接使用rails_admin工作。在控制檯中,我使用了app.rails_admin,它工作。在使用rails_admin.dashboard_url的集成測試中有效。

+0

好的 - 你應該仍然使用水豚提供的匹配,雖然 - 'page.assert_current_path rails_admin.dashboard_url(子域:'admin'),url:true' - 它會爲你節省很多頭疼的工作與JS支持司機 –

相關問題