Ответ 1
Добавьте __init__.py
в каталоги import
и module
.
Моя папка 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 module.
В настоящее время мой 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
.
С помощью nose вместо модуля vanilla unittest
, если вы можете переключиться. Вам не нужно будет вмешиваться в свой файл test.py или что-то еще; запуск nosetests
найдет и запустит все ваши тесты.