Ruby on rails 什么';Rails测试(MiniTest)中指定方法的目的是什么?
用于自动生成的测试:Ruby on rails 什么';Rails测试(MiniTest)中指定方法的目的是什么?,ruby-on-rails,minitest,Ruby On 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(:ite
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”
您可以在测试中获取实例变量,例如:
# It will check if the instance variable is a string.
assert_kind_of String, assigns(:item)
注意
分配
在Rails 5中已弃用。并提取分离宝石。
要使用它,您必须将“rails控制器测试”包含到您的GEM文件中。我想澄清一下,因为我很好奇,找到了这篇文章,而且他们似乎确实不赞成分配(和模板)的整个概念,因为测试不应该如此详细地关注这些内部决策/机制,因此,gem在将来的测试套件中不需要这些指令。谢谢你的领导!