Обнаружение unittest Python с подпапками
-
12-12-2019 - |
Вопрос
Моя папка unittest организована таким образом.
.
|-- import
| |-- import.kc
| |-- import.kh
| `-- import_test.py
|-- module
| |-- module.kc
| |-- module.kh
| `-- module_test.py
`-- test.py
Я бы хотел просто бежать test.py
запускать каждый из моих *_test.py
используя модуль Unittest Python.В настоящее время мой test.py содержит
#!/usr/bin/env python
import unittest
if __name__ == "__main__":
suite = unittest.TestLoader().discover('.', pattern = "*_test.py")
unittest.TextTestRunner(verbosity=2).run(suite)
В документации Python сказано, что мой тест должен автоматически обнаруживаться во вложенных папках.Но это не так.
На данный момент выводит только
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
Я уверен, что это не проблема с моим *_test.py
файл, потому что когда я перемещаю их в корневой каталог, он работает нормально..Что я делаю не так ?
Решение
Добавлять __init__.py
в import
и module
каталоги.
Другие советы
Рассмотрите возможность использования нос вместо ванили unittest
модуль, если есть возможность переключиться.Вам не придется возиться с собственным файлом test.py или чем-то еще;пробег nosetests
найдет и запустит все ваши тесты.