Ich brauche die Informationen in der Ausnahme enthalten. Dies ist der Code, den ich verwende.Wie man eine BulkWriteException in Python vortäuscht?
try:
result = yield user_collection.insert_many(content, ordered=False)
except BulkWriteError as e:
print (e)
Und in meinem Test, wenn ich in die außer mit dieser Linie erhalten,
self.insert_mock.side_effect = [BulkWriteError('')]
es mich gibt
Batch op Fehler aufgetreten
anstelle eines MagicMock oder ein Mock.
Wie kann ich die BulkWriteError
verspotten und geben Sie einen Standard return_value
und sehen Sie es, wenn ich print(e)
verwende?
Es hat zurückgegeben, dass 'Builtins' nicht die' print' Methode hat, aber wenn ich diesen Dekorator entferne, sollte es den 'fake_error' trotzdem drucken, und ist nicht passiert. –
Drucke werden normalerweise nicht innerhalb eines Komponententests angezeigt, oder sie haben nicht für mich. Versuchen Sie stattdessen, "__builtins__" zu importieren. So mache ich es mit Python2. – Dan