Как запустить все тесты в файле Python из скрипта Python?

Как запустить все тесты (unittest.TestCase) из файла Python в скрипте?

Я пробовал использовать нос, но он всегда запускал тестовое открытие. Все, что я хочу, - это импортировать модуль, указать какой-либо функции путь и вернуть результаты теста, есть ли предложения?


person Itay Weiss    schedule 16.03.2016    source источник


Ответы (1)


Внизу вашего тестового скрипта поместите

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

Затем просто назовите свой файл как обычно

$ python my_test_script.py

При желании, если вы хотите использовать nose или pytest, вы можете просто дать ему имя сценария, который вы хотите запустить, он все равно будет выполнять обнаружение, но только для этого одного файла.

$ nosetests my_test_script.py

$ py.test my_test_script.py

Если у вас насморк изнутри Python, вы можете использовать nose.run()

my_script.py

import nose
nose.run()

По умолчанию он будет использовать аргументы, которые вы передаете скрипту, поэтому, если вы хотите запустить только один test_script

$ python my_script.py /path/to/test_script.py

Или вы можете передать аргументы прямо внутри вашего скрипта

nose.run(argv=[__file__, '/path/to/test_script'])
person Brendan Abel    schedule 16.03.2016
comment
Я уже использую скрипт Python, я не хочу запускать другую оболочку или что-то в этом роде. - person Itay Weiss; 16.03.2016