运行 在与源同级的目录中进行测试

Running tests in a directory that's a sibling to source

在共享根目录中,我有一个 src 和一个 tests 文件夹。当我从那个根 运行 pipenv run pytest . 开始时,我收到错误消息,指出无法为该测试找到我的 auth 模块:

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.auth.models.user import User,但是我的所有模块都需要重做 src.whatever。我不知道如何正确设置我的测试路径。

这是我的setup.pyhttps://gist.github.com/rohitsodhia/7496c8351006c6218ae1dcd2cc90bc49

编辑:将我的 setup.py 更新为设置

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

现在似乎可以直接提取 src 下的所有文件,但不能提取任何目录,例如 src/auth.

src layout of your Python project 似乎有些混乱。安装脚本应如下所示:

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