[英]Testing nested routes in rails
我正在為我的應用程序編寫集成測試。 我熟悉控制器測試和常規集成測試。 但是,我不確定如何在集成測試中測試嵌套資源。 我有一個嵌入在計分板模型中的團隊模型。 相關路線代碼如下。
resources :scoreboards do
resources :teams, only: [:edit, :create, :destroy, :update]
end
我想測試團隊的所有重要工作流程。 例如,無效和有效的團隊創建。 測試代碼如下所示。
def setup
ActionMailer::Base.deliveries.clear
@scoreboard = scoreboards(:scoreboard_a)
end
test 'Invalid creation of the teams' do
assert_no_difference 'Team.count' do
post scoreboards_teams_path(@scoreboard), team: {name: " ",
win: 0,
loss: 0,
tie: 0 }
end
end
我以必須提供團隊名稱的方式進行了驗證。 問題在於路線。 我也與scoreboard_a建立了關聯。 在下面給出了teams.yml文件。
team_a:
name: team
win: 1
loss: 2
tie: 0
id: 2
scoreboard: scoreboard_a
我收到無方法錯誤。 錯誤在下面給出。
`NoMethodError: undefined method `scoreboards_teams_path'.
由於團隊嵌套在記分板顯示頁面內。 因此,沒有可以調用get請求的新操作。 我的問題是,我將如何向團隊對象發出發帖請求。 我不確定該怎么做。 我嘗試瀏覽文檔,但嵌套路線上確實沒有任何內容。 我還有嵌套在計分板上的其他對象。 因此,了解如何在鐵軌中測試嵌套路線將大有幫助。 與往常一樣,我們非常感謝您的幫助。 謝謝!!
Rails指南中有關於嵌套幫助程序資源的部分,該部分應足以回答您的問題: http : //guides.rubyonrails.org/routing.html#nested-resources
您可以使用命名的幫助程序調用新操作:
new_scoreboard_team_path
名為helper的帖子將是
scoreboard_teams_path
您的代碼顯示scoreboards_teams_path
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.