2011-01-16 8 views

ответ

10

носа обеспечивает автономные версии STDLIB утверждений:

from nose.tools import assert_in, assert_is 

Для более старые Pythons, версии unittest2 могут быть обернуты с использованием техники, аналогичной той, что находится в tools.py.

+0

Aahh, так оно и есть. По-видимому, я пропустил этот маленький абзац в верхней части документации по инструментам все эти годы ... Спасибо. –

+0

Хмм ... Они для меня не существуют, но, как вы упомянули, я подозреваю, что это потому, что я «только», используя 2.6. Я пошел дальше и написал патч 'носа', который попытается использовать утверждения unittest2, если они доступны: http://code.google.com/p/python-nose/issues/detail?id=392 –

3

Stdlib unittest обеспечивает как assertIn, так и assertIs и может осуществляться через нос. Вы ищете что-то другое? Кстати, эти методы доступны с Python 2.7 только, и если вы хотите их для более старой версии питона, он доступен из unittest2 пакета

+3

Мне не нравятся встроенные утверждения, потому что я не считаю, что строгий стиль xUnit хорошо сочетается с Python: префикс 'self.' на всех утверждениях не так увлекателен, и' camelCase' заставляет все смотреть странно. –

+0

О, я вижу. Тогда это вопрос предпочтения. Некоторые модули/библиотеки имеют определенные стили. AFAIK, вы не можете справиться с самостоятельной частью в unittest, вы можете alias the camelCase что-то, что вы предпочтете. –