is_expected.to response_with 403 undefined method' response'对于403:Fixnum

时间:2015-05-22 14:48:37

标签: ruby rspec

这有效:

subject(:my_post) { post path }

it "does not exist" do
  my_post
  expect(response.status).to eq(403)
end

但我想整理一下,http://betterspecs.org/建议:

it { is_expected.to respond_with 403 }

但我明白了:

NoMethodError:
  undefined method `response' for 403:Fixnum

1 个答案:

答案 0 :(得分:1)

控制器规范中的subject默认为正在测试的控制器,但是你要覆盖它。将subject(:my_post)更改为let(:my_post)应该有效。

此外,不要假设BetterSpecs.org始终显示最佳方法。