我正試圖按照https://stackoverflow.com/a/17002140/4499505上的建議編寫測試。`Assigns`在我的集成測試中不起作用
我的簡化的測試:
test "test" do
log_in_as(@user)
get users_path
assert_template 'users/index'
assigns[:users].each do
assert_select 'a[href=?]', users_path(user)
end
end
的錯誤結果:
NoMethodError: undefined method `each' for nil:NilClass
控制器方法:
def index
@users_grid = initialize_grid(User.where(verified: true),
per_page: 15,
order: 'users.username',
order_direction: 'desc')
end
Apparantly assigns[:users]
爲空,即使有在夾具文件的用戶。我究竟做錯了什麼?我知道assigns[:users]
應該指定與users/index
上顯示的完全相同的用戶,這正是我想要的。
顯示控制器的動作...... –
添加到原來的職位 – Nick
你需要做的'受讓人[:users_grid]' –