Ich muss einen Test meiner App lösen. Coverage beschwert sich über eine Codezeile, die die Verbindung zu MongoDB (rescue Mongo::Error::NoServerAvailable => _e
) auswertet und den Fehler rendert.Wie testen Mongo Verbindung Fehlerbehandlung mit RSpec
Was denken Sie, ich sollte diese testen:
def index
render json: Complex.all.to_json
rescue Mongo::Error::NoServerAvailable => _e
render json: { error_description: 'no database available' }, status: 503
end
ich mit so etwas wie zu testen, versuche:
it 'should return an exception' do
get :index
expect(response).to raise_exception
end
Ich fand, dass ich
.and_raise(IOError)
verwenden sollten
Aber ich bin mir nicht sicher, wo ich es verwenden soll, damit es auf die Linie fällt. Eigentlich kann ich es auf die Ausnahme fallen lassen, wenn ich Mongo stoppe, aber das ist nicht die Idee.
Danke für Ihre Zeit.
@DaveSchweisguth dieses weit nicht viel Glück. Ich weiß, dass ich es mit expect (response) testen muss. To raise_exception Es klingt gut, aber ich habe nicht den Weg gefunden, die Aktion auf den Rettungsfehler fallen zu lassen. Rettung Mongo :: Fehler :: NoServerAvailable => _e – moplin