Тесты носа фиксируют вывод моих печатных заявлений. Как это обойти?

142

Когда я печатаю

$ 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)

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

Фрэнки Рибери
источник
Есть идеи, как это сделать программно?
Евгений Якимович

Ответы:

219

Либо:

$ nosetests --nocapture mytest.py

Или:

$ NOSE_NOCAPTURE=1 nosetests mytests.py

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

codeape
источник
3
Спасибо за полезный ответ. Мне также было полезно узнать, что я могу передать этот аргумент в nose.main (), как описано в посте: stackoverflow.com/questions/7070501/…
Дэвид Холл
1
В случае, если кто-то хочет увидеть источник: nose.readthedocs.org/en/latest/plugins/capture.html
Цезарь Баутиста
12
Короткая версия этой команды nosetests -s. Другие стандартные параметры см. На странице -hсправки или справки по базовому использованию .
2013 года
python3.5 -m "нос" --nocapture
Алекс Пуннен
1
у меня не работает, даже с этой опцией мои печатные операторы не печатаются после прохождения тестов
Джон Смит Необязательный
16

использование

--nologcapture 

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

Damian
источник
9

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

тесты носа

moeabdol
источник
Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий под своим постом.
Бхаргав Рао
7
@BhargavRao "do this nosetests -s" отвечает на вопрос (хотя и без малейшего отношения к грамматике). Я не уверен, почему вы возражаете.
ДБЛИС
1
Обратите внимание, что -sэто аббревиатура из одной буквы --nocaptureфлага в соответствии с документацией .
joelostblom
3

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

script:  "python setup.py nosetests -s"

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

setup(
    ...
    tests_require=['nose>=1.0'],
    test_suite='nose.collector',
)
Евгений Якимович
источник