【问题标题】:How do I refer to a create method in a minitest to test the controller?如何在 minitest 中引用 create 方法来测试控制器?
【发布时间】:2018-06-28 01:44:14
【问题描述】:

我正在使用 Rails 5 和 minitest。如何在我的测试中引用创建 URL,以测试控制器的创建方法?在我的路线文件中,我有

resources :items

在我的测试文件中,我有

  test "do create" do
    person = people(:one)
    rating = 10
    post items_create_url, params: {person_id: person.id, rating: rating}

    # Verify we got the proper response
    assert_response :success
  end

但是,上面的测试以

结束
undefined local variable or method `items_create_url'

错误。在测试中引用我的 create 方法的正确方法是什么?

【问题讨论】:

    标签: unit-testing controller routes ruby-on-rails-5 minitest


    【解决方案1】:

    在 RESTful 路由中,模型被认为是事物的集合。当您创建一个新项目时,您将一个新项目(数据)发布到现有项目的集合中,因此 Rails 使用:

    post items_url, params: {person_id: person.id, rating: rating}
    

    有关路由的更多信息,Rails 指南确实是最好的信息来源:http://guides.rubyonrails.org/routing.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多