Код: Выделить всё
.
├── README.md
├── document_processing
│ ├── Config.py
│ ├── DocumentParser.py
│ ├── FileChecker.py
│ └── __init__.py
├── indexing.py
└── tests
├── CheckFileTest.py
└── __init__.py
< /code>
В checkfiletest.py я реализовал некоторые тесты для функций filechecker.py. < /p>
import unittest
from document_processing.Config import Config
from document_processing.FileChecker import FileChecker
class CheckFileTest(unittest.TestCase):
def __init__(self):
self.config = Config()
self.fc = FileChecker(self.config)
def test_not_empty_line(self):
...
def test_line_format(self):
...
if __name__ == "__main__":
unittest.main()
< /code>
К сожалению, я получил эту ошибку, когда запускаю тестовый файл (запускается из root Project): < /p>
Traceback (most recent call last):
File "/Users/thomaslaurent/Dev/MIRCV_project/tests/CheckFileTest.py", line 3, in
from document_processing.Config import Config
ModuleNotFoundError: No module named 'document_processing
< /code>
Я видел много вещей об этом, но я не могу понять, что заблокировано с этой структурой. < /p>
С относительным импортом: < /p>
from ..document_processing.Config import Config
< /code>
Я получил эту ошибку: < /p>
ImportError: attempted relative import with no known parent package
После комментариев @sinoroc я не делаю свои тесты пакетом и создал файл setup.py:
from setuptools import setup
setup(
name="MIRCV_project",
version="1.0",
description="",
author="Thomas LAURENT",
author_email="",
packages=["document_processing"],
install_requires=[], # external packages acting as dependencies
)
< /code>
И я наконец -то запускаю: < /p>
python -m pip install --editable .
< /code>
Вы можете проголосовать за предыдущий ответ @sinoroc на конфигурации setup.py:
Как сделать setup.py для автономного приложения < /p>
Подробнее здесь: https://stackoverflow.com/questions/773 ... -test-file