"ності" - це виведення моїх друкованих заяв. Як це обійти?


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
Ceasar Bautista

12
Коротка версія цієї команди є nosetests -s. Для інших стандартних опцій див. -hДовідку або основну сторінку довідки щодо використання .
дбн

python3.5 -m "ніс" --nocapture
Алекс Пуннен

1
не працює для мене, навіть при такому варіанті мої заяви про друк не друкуються, коли проходять тести
Джон Сміт Необов’язково


9

Це додано нещодавно в ніс замість --nocapture:

носовики -в


Це не дає відповіді на запитання. Щоб критикувати або вимагати роз'яснення у автора, залиште коментар під їх публікацією.
Bhargav Rao

7
@BhargavRao "зроби це нос-тести" відповідає на питання (хоча і без найменшого погляду на граматику). я не впевнений, чому ти заперечуєш.
dbliss

1
Зауважте, що -sце абревіатура однієї літери --nocaptureпрапора відповідно до документації .
joelostblom

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.