nosetests фиксирует выходные данные моих операторов печати.Как это обойти?
Вопрос
Когда я печатаю
$ nosetests -v mytest.py
все мои выходные данные для печати записываются, когда все тесты проходят успешно.Я хочу видеть результаты печати, даже если все проходит успешно.
Итак, что я делаю, так это принудительно вызываю ошибку утверждения, чтобы увидеть выходные данные, вот так.
class MyTest(TestCase):
def setUp(self):
self.debug = False
def test_0(self):
a = .... # construct an instance of something
# ... some tests statements
print a.dump()
if self.debug:
eq_(0,1)
Это кажется таким халтурным, что должен быть способ получше.Просвети меня, пожалуйста.
Решение
Любой:
$ nosetests --nocapture mytest.py
Или:
$ NOSE_NOCAPTURE=1 nosetests mytests.py
(это также может быть указано в nose.cfg
файл, смотрите nosetests --help
)
Другие советы
Использование
--nologcapture
.
Это работало для меня
Это было добавлено недавно к носу вместо --nocapture сделать это:
nosetests -s
Чтобы интегрировать с http://travis-ci.org Я положил это в .travis.yml :
.
script: "python setup.py nosetests -s"
где setup.py содержит:
.setup(
...
tests_require=['nose>=1.0'],
test_suite='nose.collector',
)