Прошу прощения за тупой вопрос, но я ударяю головой о стену последние два часа.Автоматическое тестирование вложенных пакетов
Я хочу использовать относительный импорт и моя структуру проекта выглядит следующим образом:
auto_testing
+ tests
+ __init__.py
+ my_module.py
+ src
+ __init__.py
+ my_module.py
+ __init__.py
Содержание tests/my_module.py
являются:
import unittest
from src.my_module import MyClass
class TestMyClass(unittest.TestCase):
def setUp(self):
self.inst = MyClass()
def test_division_by_zero(self):
self.assertRaises(ZeroDivisionError, self.inst.divide, 1, 0)
def run_tests():
unittest.main()
if __name__ == '__main__':
run_tests()
Затем я запускать команды в терминале
cd auto_testing
python3 -m tests.my_module
и получите Error while finding spec for 'tests.my_module.py' (<class 'AttributeError'>: 'module' object has no attribute '__path__')
.
Когда я бегу
cd auto_testing
python3
import tests.my_module
tests.my_module.run_tests()
я Ran 0 tests
(почему не было обнаружено никаких тестов должен быть еще один вопрос, но дело в том, что MyClass
импортируется правильно и unittest.main()
, кажется, называется, проверено с print
).
Должен ли я спать, я пропустил что-то очень простое?