python-nose: библиотека утверждений?

Есть ли библиотека, в которой из удобных для носа утверждений такие вещи, как членство и идентичность (например, assert_contains(x, y), assert_is(a, b))?


person David Wolever    schedule 16.01.2011    source источник


Ответы (2)


Nose предоставляет автономные версии утверждений stdlib:

from nose.tools import assert_in, assert_is

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

person jek    schedule 16.01.2011
comment
Ааа, так и есть. Видимо, все эти годы мне не хватало этого маленького абзаца в верхней части документации по инструментам… Спасибо. - person David Wolever; 16.01.2011
comment
Хм… Для меня их не существует, но, как вы упомянули, я подозреваю, что это потому, что я использую только 2.6. Я пошел дальше и написал патч nose, который попытается использовать утверждения unittest2, если они доступны: code.google.com/p/python-nose/issues/detail?id=392 - person David Wolever; 16.01.2011

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

person Senthil Kumaran    schedule 16.01.2011
comment
Мне не нравятся встроенные утверждения, потому что я не считаю, что строгий стиль xUnit хорошо сочетается с Python: префикс self. во всех утверждениях не так уж забавен, а camelCase все выглядит странно. - person David Wolever; 16.01.2011
comment
Ага, понятно. Тогда это вопрос предпочтений. Некоторые модули/библиотеки имеют определенные стили. Насколько я знаю, вы не можете использовать собственную часть в unittest, вы можете использовать псевдоним camelCase для чего-то, что вы предпочитаете. - person Senthil Kumaran; 16.01.2011