So lösen Sie inkompatible Importe in Python und Pytest
Posted: 25 Jan 2025, 16:37
Ich habe ein Projekt erstellt, das genau wie die Dokumentation der PyTest Good Integration Practices beschrieben wurde, insbesondere die Tests außerhalb des Anwendungscodes. >
In main.py importiere ich aus bar.py
In test_app.py
Es funktioniert, wenn ich das Projekt ausführe. Wenn ich jedoch pytest ausführe, erhalte ich eine Fehlermeldung
ModuleNotFoundError: Kein Modul namens „bar“
Es funktioniert in Pytest, wenn ich den Code in main.py in
änderefrom .bar import baz
< /code>
Aber wenn ich die Anwendung ausführe, erhalte ich den ModulenotFoundError < /p>
Wie kann ich dieses Problem beheben? < /p>
Ich leite pyTest aus dem Stammverzeichnis des Projekts
Code: Select all
.
├── pyproject.toml
├── src
│ └── basic_package
│ ├── bar.py
│ ├── __init__.py
│ └── main.py
└── tests
└── test_app.py
Code: Select all
from bar import baz
def main() -> str:
return baz()
Code: Select all
from basic_package.main import main
def test_foo():
assert main() == 'qux'
ModuleNotFoundError: Kein Modul namens „bar“
Es funktioniert in Pytest, wenn ich den Code in main.py in
änderefrom .bar import baz
< /code>
Aber wenn ich die Anwendung ausführe, erhalte ich den ModulenotFoundError < /p>
Wie kann ich dieses Problem beheben? < /p>
Ich leite pyTest aus dem Stammverzeichnis des Projekts