Как подтвердить вывод с помощью nodetest / unittest в python?

Я пишу тесты для функции, подобной следующей:

def foo():
    print 'hello world!'

Поэтому, когда я хочу протестировать эту функцию, код будет примерно таким:

import sys
from foomodule import foo
def test_foo():
    foo()
    output = sys.stdout.getline().strip() # because stdout is an StringIO instance
    assert output == 'hello world!'

Но если я запускаю тесты с параметром -s, тест вылетает. Как я могу поймать результат с помощью unittest или носового модуля?

106
задан Oz123 28 September 2014 в 17:08
поделиться