У меня есть файл TestProtocol.py
, который имеет unittests. Я могу запустить этот скрипт и получить результаты теста для моих 30 тестов, как и ожидалось. Теперь я хочу запустить те тесты из другого файла tester.py
, который находится в том же каталоге. Внутри tester.py
Я пробовал import TestProtocol
, но он запускает 0 тестов.Запуск unittests из другого файла
Тогда я нашел в документации, которая говорит, что я должен сделать что-то вроде этого:
suite = unittest.TestLoader().discover(".", pattern = "*")
unittest.run(suite)
Это должно пройти через все файлы в текущем каталоге .
, которые соответствуют шаблону *
, поэтому все тесты во всех файлах. К сожалению, он снова запускает 0 тестов.
Существует related QA, что предлагает сделать
import TestProtocol
suite = unittest.findTestCases(TestProtocol)
unittest.run(suite)
но также не находит каких-либо тестов.
Как импортировать и запускать мои тесты?
К сожалению, это тоже дает мне «Ran 0 тестов в 0.000s OK». – nwp
@ nwp Я обновил свой ответ с помощью рабочего примера, надеюсь, что это было бы полезно – Shaikhul
Теперь он работает. Причина, по которой он не работал для меня раньше, заключался в том, что у меня был 'unittest.main()' (без 'if __name__ == '__main __'') внутри 'test_me.py', что помешало обнаружению тестов. – nwp