如何使 rspec 具有多个参数?

How to make rspec with multiple parameters?

我是 Rails 的初学者,在 Rspec 中使用旧版本 4.0。我想在我的路线所遵循的控制器上进行测试。

/properties/:property_id/build

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

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

但不知道如何写属性的id号来构建路由在上面的控制器。这意味着显示方法我必须放置属性 id 和构建但稍后更新我必须放置两个参数。

如果是 get 请求,则

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

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

你可以传递 property_id

这样的参数
get :build, params: { property_id: property.id } #You pass additional parameters with this.  

这里property_id是:property_id/properties/:property_id/build

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

get :new, property_id: property.id