2011-01-16 17 views

Antwort

10

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.

+0

Aahh, so ist es. Anscheinend habe ich diesen kleinen Absatz an der Spitze der Werkzeugdokumentation all die Jahre vermisst ... Danke. –

+0

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 –

3

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

+3

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. –

+0

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. –