代码之家  ›  专栏  ›  技术社区  ›  Kamal Panhwar

如何使RSPEC具有多个参数?

  •  1
  • Kamal Panhwar  · 技术社区  · 6 年前

    我是Rails的初学者,在RSPEC中使用旧版本4.0。我想在控制器上测试我的路线。

    /properties/:property_id/build
    

    我可以通过编写以下内容来测试/properties/1

    get :show, id: properties
    expect(response).to have_http_status(:success)
    

    但不确定如何将属性的ID号写入上面路由的构建控制器。这意味着要显示我必须放置属性id和build的方法,但稍后要进行更新,我必须放置两个参数。

    3 回复  |  直到 6 年前
        1
  •  2
  •   Pramod Shinde    6 年前

    你可以通过 property_id 参数如下

    get :build, params: { property_id: property.id } #You pass additional parameters with this.  
    

    这里的属性是 :property_id 在里面 /properties/:property_id/build

        2
  •  1
  •   M. Karim    6 年前

    如果它是 get 然后请求,

    get :build, params: {id: properties, second_param: "something" }
    

    (假设) properties Property 对象,第二个参数是 second_param )

        3
  •  0
  •   Kamal Panhwar    6 年前

    我是一个初学者,所以我认为我对路由和控制器测试的理解不正确。因为在和另一个程序员讨论之后,它仍然出错。我最终决定使用以下模式。

    get :new, property_id: property.id