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


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)


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
у меня не работает, даже с этой опцией мои печатные операторы не печатаются после прохождения тестов
Джон Смит Необязательный


9

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

тесты носа


Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий под своим постом.
Бхаргав Рао

7
@BhargavRao "do this nosetests -s" отвечает на вопрос (хотя и без малейшего отношения к грамматике). Я не уверен, почему вы возражаете.
ДБЛИС

1
Обратите внимание, что -sэто аббревиатура из одной буквы --nocaptureфлага в соответствии с документацией .
joelostblom

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.