Вопрос

Моя папка 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 найдет и запустит все ваши тесты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top