I have a Python package with a directory that looks like this:
-root
|
|-src
| |
| -app
| |
| |-__init__.py
| |-__main__.py
| |-file1.py
| |-file2.py
|
|-tests
|
|-__init__.py
|-test_function.py
file1.py looks like this
from app import file2
def function():
return file2.another_function()
test_function.py looks like this
import unittest
from src.app.file1 import function
class TestFunction(unittest.TestCase):
def test_case(self):
self.assertTrue(function())
However, whilst as a package this works fine, when running the test I get a ModuleNotFoundError: No module named 'app' on from app import file2.
It works when I put src. in front of app in file1.py but then the package breaks. Looking around, there isn't really a clear way to fix this so unsure what my path should be looking like.
from . import file2?