2016-03-16 9 views
1

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

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

ответ

4

В нижней части тестового сценария поместить

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

Тогда просто вызовите файл как обычный

$ python my_test_script.py 

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

$ nosetests my_test_script.py 

$ py.test my_test_script.py 

Если вы используете нос внутри питона, вы можете использовать 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']) 
+0

Я уже в питон скрипт, я не хочу запустить другую оболочку или что-нибудь. –