Gibt es eine Bibliothek, die nasenfreundliche Behauptungen wie Mitgliedschaft und Identität enthält (zB assert_contains(x, y)
,)?Python-Nase: Assertion-Bibliothek?
Antwort
Nose bietet Stand-alone-Versionen der stdlib Behauptungen:
from nose.tools import assert_in, assert_is
Für Ältere Pythons, die unittest2-Versionen können wahrscheinlich mit einer ähnlichen Technik wie in tools.py umschlossen werden.
Stdlib unittest bieten beide assertIn
und assertIs
und können über die Nase laufen. Suchst du etwas anderes als das? BTW, sind diese Methoden seit Python verfügbar 2.7 nur und wenn Sie sie für ältere Version von Python wollen, ist es erhältlich von unittest2 Paket
Ich mag die eingebauten Assertionen nicht, weil ich nicht finde, dass der strikte xUnit-Stil mit Python gut funktioniert: Das 'self.-Präfix auf allen Assertionen macht nicht so viel Spaß, und' camelCase' lässt alles aussehen seltsam. –
Oh, ich verstehe. Es ist eine Frage der Präferenz. Bestimmte Module/Bibliotheken haben bestimmte Stile. AFAIK, du kannst mit dem Selbsttest im Unittest nicht so verfahren, du kannst das CamelCase-Ding zu etwas alias machen, das dir lieber ist. –
Aahh, so ist es. Anscheinend habe ich diesen kleinen Absatz an der Spitze der Werkzeugdokumentation all die Jahre vermisst ... Danke. –
Hhmm ... Sie existieren nicht für mich, aber wie du erwähnt hast, vermute ich, dass ich "nur" 2.6 benutze. Ich habe einen "nose" -Patch geschrieben, der versucht, unittest2-Assertions zu verwenden, sofern diese verfügbar sind: http://code.google.com/p/python-nose/issues/detail?id=392 –