Ответ 1
Позвоните в свой unittest с опцией "-b" - buffer stdout и stderr
Foo.py
class Foo:
def bar(self):
print "bar"
return 7
test.py
import unittest
from Foo import Foo
class test_Foo(unittest.TestCase):
def test_bar(self):
obj = Foo()
res = obj.bar()
self.assertEqual(res, 7)
if __name__ == "__main__":
unittest.main()
Запустите его с опцией -b
$ python test.py -b
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
Альтернатива: используйте nose
$ pip install nose
что устанавливает команда nosetests
Обратите внимание, что я модифицировал набор тестов, чтобы иметь класс и методы с префиксом test
для удовлетворения nose
правил проверки теста по умолчанию.
nosetests
по умолчанию не показывает вывод
$ nosetests
.
----------------------------------------------------------------------
Ran 1 test in 0.002s
OK
Если вы хотите увидеть результат, используйте переключатель -s
:
$ nosetests -s
bar
.
----------------------------------------------------------------------
Ran 1 test in 0.002s
OK