Запуск тестов в каталоге, который является родным для источника - PullRequest
0 голосов
/ 07 ноября 2019

В общем корне у меня есть папка src и tests. Когда из этого корня я запускаю pipenv run pytest ., я получаю сообщение об ошибке, что мой модуль аутентификации не может быть найден для этого теста:

from auth.models.user import User

class TestUser:
    def test_valid_pass():
        assert User.validate_pass("abcdefgh")

Кто-то предложил мне создать setup.py, что я и сделал, нокогда я это сделаю, я должен превратить свой импорт в src.auth.models.user import User, но тогда все мои модули требуют переименования в src.whatever. Я не могу понять, как правильно проложить мои тесты.

Это мой setup.py https://gist.github.com/rohitsodhia/7496c8351006c6218ae1dcd2cc90bc49

РЕДАКТИРОВАТЬ: обновил мой setup.py, чтобы установить

packges=find_packages(where="src/*"),

Похоже, теперь он забирает все файлы прямо из src, но не из каких-либо каталогов, как src/auth.

1 Ответ

1 голос
/ 07 ноября 2019

Кажется, есть некоторая путаница в отношении макета src вашего проекта Python . Сценарий установки должен выглядеть следующим образом:

# ...
setuptools.setup(
    # ...
    package_dir={'': 'src'},
    packages=setuptools.find_packages(where='src'),
    # ...
)
# ...
...