Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 什么';Rails测试(MiniTest)中指定方法的目的是什么?_Ruby On Rails_Minitest - Fatal编程技术网

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在将来的测试套件中不需要这些指令。谢谢你的领导!