在同级目录中运行测试

时间:2019-11-06 21:27:59

标签: python testing setup.py

在共享根目录中,我有一个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.whatever。我不知道如何正确地进行测试。

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

编辑:更新了我的setup.py进行设置

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

现在看来可以直接在src下拾取所有文件,但不能拾取src/auth之类的任何目录。

1 个答案:

答案 0 :(得分:1)

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

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