Hier ist mein Test. Der Fehler, den ich erhalte, ist ActiveRecord :: RecordNotFound: MedicalStudentProfile konnte mit 'ID' = 1001 nicht gefunden werden. Benutze ich Build_stubbed korrekt?FactoryGirl build_stubbed & RSpec - Erzeugt ID, aber ID beim Testen nicht gefunden Aktion anzeigen
RSpec-Test
RSpec.describe MedicalStudentProfilesController, type: :controller do
let!(:profile){build_stubbed(:medical_student_profile)}
let!(:user){build_stubbed(:user)}
describe 'GET show' do
it 'should show the requested object' do
sign_in user
get :show, id: profile.id
expect(assigns(:profile)).to eq profile
end
end
end
-Controller
def show
@profile = MedicalStudentProfile.find params[:id]
end
Danke. Ich habe in build_stubbed nachgesehen, um die Controller-Tests zu beschleunigen, aber es scheint hier nicht anwendbar zu sein. –
Sie können die Find-Methode der MedicalStudentProfile-Klasse nachahmen oder stubben, um den Datenbanktreffer zu vermeiden. Auf diese Weise verwenden Sie Mocks, um das Verhalten Ihres Controllers anzugeben, anstatt ein Datenbankergebnis zu erwarten. Ich empfehle Ihnen definitiv die [Rails 4 Test Rezepte] (http://www.amazon.com/Rails-Test-Prescriptions-Healthy-Codebase/dp/1941222196/ref=sr_1_1?s=books&ie=UTF8&qid=1437766269&sr=1- 1 & keywords = Schienen + 4 + Test + Rezepte) buchen, wenn Sie mehr darüber erfahren möchten. – izaban
Ich verstehe, wie gut die Leistung der DB für die Testleistung ist, aber ist das nicht der Zweck eines Integrationstests? – max