我在我的 Rails 应用程序中使用 RSpec 和 decent_exposure gem 时遇到了问题。
我的控制器测试失败,因为体面_曝光两次调用方法“new”(Model.new(params [name])。一次使用名称(Brand.new(params [“brands”])返回Brand.new(nil))和第二我期望的(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
那么,你能帮我弄清楚如何通过这个吗?