Wie benutzt man die assert_raises der Nase?
Ich gesucht habe für die Dokumentation, aber konnte nicht finden. Es gab ein paar, die nicht viel erklären.
Kann mir jemand erklären Nase
assert_raises(what should I put here?)
Funktion und wie nutze ich es?
InformationsquelleAutor der Frage user1544624 | 2012-08-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
assert_raises()
Funktionstests, um sicherzustellen, dass ein Funktionsaufruf wirft einer angegebenen Ausnahme, wenn die Darstellung mit bestimmten Parametern.Zum Beispiel, wenn Sie hatte eine Funktion
add
fügt hinzu, dass zwei zahlen, sollte es wohl erhebenTypeError
wenn Sie es passieren, sagen, ein integer und ein string. Also:Das erste argument den Typ der Ausnahme, die Sie erwarten. Die zweite ist die Funktion zu nennen. Der rest der Argumente an die Funktion übergeben werden (in diesem Fall, werden Sie
x
undy
innerhalb der Funktion).Ob die erwartete exception Auftritt, wird durch die Funktion, die Behauptung geht.
InformationsquelleAutor der Antwort kindall
Während die akzeptierte Antwort ist richtig, ich denke, es ist eine bessere Nutzung
assert_raises
Methode.Wenn Sie wollen einfach nur, um zu behaupten, dass eine Ausnahme Auftritt, ist es wahrscheinlich einfacher und sauberer zu verwenden
@raises
syntax.Gehen aber davon aus Sie wollen etwas mehr mit den ausnahmeereignis, zum Beispiel: wir müssen behaupten, dass Sie sich angehoben HTTPError ist der Typ 401: Unauthorizedstatt 500: Server Error.
In einer solchen situation über syntax ist nicht besonders hilfreich, wir sollten die
assert_raises
aber in einer anderen Weise.Wenn wir geben Sie nicht eine
callable
als zweiten parameterassert_raises
zurück, ein Zusammenhang, den wir verwenden können, um weiter zu testen die Ausnahme details.InformationsquelleAutor der Antwort BuddhiP