In Controller Sie können unten durch den Code übergeben erstellen:Passing erstellen innerhalb der Methode rspec
expect {
post :create, params: {question: valid_attributes}, session: valid_session
}.to change(Question, :count).by(1)
Was passiert, wenn das schaffen, ist im Inneren eines Verfahrens? Ich habe eine Methode, die sich find oder create verhält. Und es wird die id
zurückgeben.
def my_method(id='')
if id.blank?
question = Question.create(content: "The content.")
else
question = Question.find(id)
end
question.id
end
ich tun, um die Rspec wie folgt aus:
it "should create for non existence of id" do
expect(my_method).to have(1).record
end
it "should return object base on id" do
expect(assigns(:question)).to eq(question)
end
Aber es gibt mir diese Fehlermeldung:
NoMethodError:
undefined method `have' for #<RSpec::ExampleGroups::ClassNameHere:0x00000008543a50>
Kann jemand helfen? Vielen Dank!
Wo wird diese 'my_method' platziert? und woher nennst du es? –