Приятно иметь возможность продемонстрировать, что ваши тесты работают при первом испытании модуля unittest, и знать, что вы не выйдете из своей оболочки Python. Однако эти решения зависят от версии.
Python 2.6
Я использую Python 2.6 на работе, import
ing unittest2 as unittest
(это модуль unittest
, предположительно найденный в Python 2.7).
unittest.main(exit=False)
не работает в unittest2 в Python 2.6, в то время как решение JoeSkora работает, и еще раз:
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromTestCase(Test))
Чтобы разбить это на его компоненты и аргументы по умолчанию, с правильными семантическими именами для различных составных объектов:
import sys # sys.stderr is used in below default args
test_loader = unittest.TestLoader()
loaded_test_suite = test_loader.loadTestsFromTestCase(Test)
# Default args:
text_test_runner = unittest.TextTestRunner(stream=sys.stderr,
descriptions=True,
verbosity=1)
text_test_runner.run(loaded_test_suite)
Python 2,7 и 3
В Python 2.7 и выше должно работать следующее.
unittest.main(exit=False)