Pytest - ModuleNotFoundError: нет модуля с именем 'x' - PullRequest
2 голосов
/ 20 января 2020

**** решено: добавлено __init__.py к Test/ и переименовано testcode.py в test_code.py. Для запуска тестов cd -> Zee и введите pytest****


Структура:

|--Zee/
|   |--Test/
|   |   |--__init__.py
|   |   |--test_code.py
|   |--Codetotest/
|   |   |--code.py

в code.py

class Foo():
    some code...

в testcode .py

from Codetotest.code import Foo

def test_foo():
   assert ...

Когда я перехожу в каталог Zee в моей командной строке и запускаю pytest Test/testcode.py, я получаю ModuleNotFoundError: No module named Zee. Как я могу это исправить?

Я попытался сделать Тест модуля, добавив Test/__init__.py, как предложено здесь . Бегал из нескольких каталогов, без кубиков.

Pytest версии 5.3.4, импортированный из python 3.6

Что я не понимаю, так это когда я добавляю __init__.py к Zee/ , это дает мне ту же ошибку

1 Ответ

2 голосов
/ 20 января 2020

Вам нужно __init__.py в каталоге модуля.

Вот типичная структура проекта:

|--zee-project-directory/
|   |--tests/
|   |   |--test_zee.py
|   |--zee/
|   |   |--__init__.py
|   |   |--code.py

code.py

class Foo():
    some code...

test_zee.py

from zee.code import Foo

def test_foo():
   assert ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...