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)

Это кажется таким хакерским, должен быть лучший способ. Просветите меня пожалуйста.


person Frankie Ribery    schedule 12.05.2011    source источник
comment
Любая идея, как это сделать программно?   -  person Yauhen Yakimovich    schedule 06.08.2014


Ответы (5)


Либо:

$ nosetests --nocapture mytest.py

Or:

$ NOSE_NOCAPTURE=1 nosetests mytests.py

(также можно указать в файле nose.cfg, см. nosetests --help)

person codeape    schedule 12.05.2011
comment
Спасибо за полезный ответ. Мне также было полезно узнать, что я могу передать этот аргумент в метод nose.main(), как описано в сообщении: stackoverflow.com/questions/7070501/ - person David Hall; 01.02.2012
comment
На случай, если кто-то захочет увидеть исходник: nose.readthedocs.org/en/latest /плагины/capture.html - person Ceasar Bautista; 27.07.2012
comment
Краткая версия этой команды — nosetests -s. Другие стандартные параметры см. либо в -h справке, либо в основном использовании страница справки. - person dbn; 16.04.2013
comment
python3.5 -m нос --nocapture - person Alex Punnen; 19.03.2018
comment
у меня не работает, даже с этой опцией мои операторы печати не печатаются, когда тесты проходят - person John Smith Optional; 07.11.2019

Использовать

--nologcapture 

это сработало для меня

person Damian    schedule 24.09.2013

Это было недавно добавлено к носу вместо --nocapture, сделайте это:

nosetests -s
person moeabdol    schedule 11.02.2015
comment
Это не дает ответа на вопрос. Чтобы подвергнуть критике или запросить разъяснения у автора, оставьте комментарий под его публикацией. - person Bhargav Rao; 11.02.2015
comment
@BhargavRao делает это, тесты носа -s отвечают на вопрос (хотя и без малейшего внимания к грамматике). Я не уверен, почему вы возражаете. - person dbliss; 18.04.2015
comment
Обратите внимание, что -s — это однобуквенная аббревиатура флага --nocapture, как согласно документации. - person joelostblom; 11.10.2018

Для интеграции с http://travis-ci.org я поместил это в .travis. yml:

script:  "python setup.py nosetests -s"

где setup.py содержит:

setup(
    ...
    tests_require=['nose>=1.0'],
    test_suite='nose.collector',
)
person Yauhen Yakimovich    schedule 06.08.2014

Попробуй это,

nosetests -v 2 -s yourtest

Флаги ожидают порядка.

person Henshal B    schedule 11.03.2021