Как разрешить несовместимый импорт в Python и PytestPython

Программы на Python
Ответить
Anonymous
 Как разрешить несовместимый импорт в Python и Pytest

Сообщение Anonymous »

Я создал проект точно так же, как описано в документации Pytest Good Integration Practications, в частности, тесты вне разделения кода приложения. < /p>
Это мой макет проекта < /p>

Код: Выделить всё

.
├── pyproject.toml
├── src
│   └── basic_package
│       ├── bar.py
│       ├── __init__.py
│       └── main.py
└── tests
└── test_app.py

in main.py I Импорт из bar.py

Код: Выделить всё

from bar import baz

def main() -> str:
return baz()
в test_app.py
from basic_package.main import main

def test_foo():
assert main() == 'qux'
< /code>
работает, когда я запускаю проект. Однако, если я запускаю pytest, я получаю ошибку < /p>

modulenotfounderror: нет модуля с именем 'bar' < /p>
< /blockquote> он работает в Pytest, если я изменю код в main.py < /em> на < /p>
from .bar import baz
< /code>
Но тогда, если я запускаю приложение, я получаю модульнотфундеррор < /p>
Как я могу решить эту проблему? < /p>
Я запускаю pytest из корневого каталога проекта


Подробнее здесь: https://stackoverflow.com/questions/793 ... and-pytest
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»