在Rails测试(MiniTest)中分配方法的目的是什么?

用于自动生成的测试:

test "should create item" do login_user assert_difference('Item.count') do post :create, item: { creator: @item.creator, title: @item.title, user_id: @item.user_id, text: 'Hello, world!' } end assert_redirected_to(assigns(:item)) end 

Rails 文档没有任何描述。 这种方法的目的是什么以及如何使用它?

这意味着如果控制器定义了一个实例变量@item="something" 。 您可以使用例如在测试中获取实例变量

 assert_kind_of String, assigns(:item) # will check if the instance variable is a string 

请注意在Rails 5中弃用的assigns 。并提取为单独的gem。