Python unittest - вызвать unittest.main () с пользовательским TestSuite - PullRequest
5 голосов
/ 22 сентября 2010

Я делаю юнит-тесты с питоном.Я не использую автоматическое тестовое обнаружение.Я собираю TestCases в TestSuite вручную.

Я могу запустить эти тесты с unittest.TextTestRunner().run(suite), я бы хотел запустить их с unittest.main(), чтобы я мог использовать параметры командной строки (например, -v / --failfast).В документации сказано, что unittest.main() может принимать параметр TestRunner.

Как преобразовать мой TestSuite в TestRunner?

Ответы [ 2 ]

2 голосов
/ 12 ноября 2012

Почти копия Как запустить тестовый набор с unittest.main (ответ скопирован и вставлен):

Вы не можете передать TestSuite на главную, проверитьконструктор unittest.main.TestProgram (который на самом деле был unittest.main) и как этот класс работает.Первый аргумент, если что-либо - это имя модуля, а не набор тестов.

main() фактически берет свои аргументы из sys.argv, так как он фактически предназначен для использования из командной строки, а не из программы,Это просто для удобства.

0 голосов
/ 22 сентября 2010

Не делайте ничего, кроме того, чтобы убедиться, что это есть в модуле модульного тестирования.

if __name__ == '__main__':
    unittest.main(failfast=True)

http://docs.python.org/library/unittest.html#unittest.main

Из документации ...

unittest.main( failfast=True, testRunner=unittest.TextTestRunner )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...