Когда я пытался запустить pytest, я получаю сообщение об ошибке, это структура моего проекта:
slots_tracker/
README.md
development.txt
requirements.txt
tasks.py
venv/
slots_tracker/
__init__.py
conf.py
db.py
expense.py
server.py
swagger.yml
test_api.py
Это мой тестовый файл:
from expense import create
from conf import PayMethods
def test_create_new_expense():
response = create(dict(amount=200, desc='Random stuff',
pay_method=PayMethods.Visa.value))
# We got a success code
assert response[1] == 201
когда я запускаю pytest с:
pytest
Я получаю эту ошибку:
ModuleNotFoundError: No module named 'expense'
Если я запускаю pytest с:
python -m pytest
Я не получаю никакой ошибки, также я могу запустить свое приложение и не получить никакой ошибки импорта:
python server.py
Я также замечаю, что если я удалю файл __init__.py
, я смогу запустить pytest только с:
pytest
Я могу это исправить? удаление __init__.py
не похоже на «правильное» решение, потому что я собираю пакет, поэтому в нем должен быть __init__.py
файл.
Я работаю на Mac с Python 3.6.5 в виртуальной среде.