RailsアプリケーションでRSpecとdecent_exposure gemを使用すると問題が発生しました。
コントローラーのテストが失敗するのは、decent_exposure がメソッド "new" を 2 回 (Model.new(params[name]) 呼び出しているためです。 2番目に期待するもの(Brand.new(params["brand"]))テストファイルで最初の呼び出しをスキップする必要があります.Brand.should_receive(:new).with(...).once.and_return(band)動かない。
私のテストファイル:
let(:brand) {
mock_model(Brand).as_null_object
}
before do
Brand.stub(:new).and_return(brand)
end
describe "with valid parameters" do
it "should create a new brand" do
Brand.should_receive(:new).with(
"name" => "LG",
).and_return(brand)
post :create, :brand => {
"name" => "LG",
}
end
end
それで、これを通過する方法を理解するのを手伝ってもらえますか?