'Pytest throws 'attempted relative import beyond top-level package'
I know this question has been asked before but i cannot seem to find a solution.
This is my folder structure:
folder_name/
  __init__.py
  start.py
  src/
    __init__.py
    app.py
    api.py
   
  tests/
     __init__.py
     thetest.py
Start.py:
from src.app import create_app
app = create_app()
if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True)
App.py:
def create_app():
    app = Flask(__name__)
    return app
Api.py: Here are all the endpoints
My server works fine.
However, when i introduce pytest into the equation, it fails.
I use this line: from ..start import app import pytest
and i get this error.
I have tried placing these lines in the start of thetest.py:
import os
import sys
sys.path.append(os.getcwd())
But the error remains.
Solution 1:[1]
This is what worked:
Inside the thetest.py file:
from start import app
    					Solution 2:[2]
Perhaps you can try using unittest for testing:
cd "folder_name/../" # ! outside folder_name !
python3 -m unittest discover --top-level-directory=. --start-directory=./tests
    					Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | user1584421 | 
| Solution 2 | Ark-kun | 
