如何使用多个参数制作rspec?

时间:2018-11-27 06:33:51

标签: ruby-on-rails rspec-rails

我是Rails的初学者,并且将旧版本4.0与Rspec一起使用。我想在我的路线遵循的控制器上进行测试。

/properties/:property_id/build

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

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

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

3 个答案:

答案 0 :(得分:2)

您可以使用类似参数的property_id

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

此处:property_id中的property_id为/properties/:property_id/build

答案 1 :(得分:1)

如果是get请求,则

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

(假设properties是示例中的Property对象,第二个参数是second_param

答案 2 :(得分:0)

我是一个初学者,所以我认为我对路由和控制器测试有不正确的理解。由于仍然出现错误,并且在与另一位程序员讨论之后。我终于使用以下模式解决了问题。

get :new, property_id: property.id