Python pytest排除PYTHONPATH中的测试目录

问题描述 投票:0回答:0

我有一个奇怪的场景

pytest
我们需要在测试期间从
PYTHONPATH
中排除测试目录。

上下文

pytest命令供参考

python -m pytest main_project_a/folder_a/sub_project_a ...

我有

main_project_a
需要使用自定义构建的 Python 运行测试。它内置于
build
文件夹中。我需要用它来运行
folder_a/sub_project_a
中的测试。但是
sub_project_a
中的模块需要另一个包
api_2
,但是
pytest
main_project_a/folder_a/sub_project_a中包含
test目录
PYTHONPATH
,所以它试图在
test目录
中寻找api_2,这没有'存在。

如何告诉

pytest
不包含测试目录,或者告诉
pytest
改为查看
main_project_a/build/sub_project_a/lib/python3.9/sub_project_a

WORKSPACE
- main_project_a
    - ...
    - build
        - sub_project_a
            - bin
            - lib
                - python3.9
                    - sub_project_a
                        - api
                        - api_2
            - ...
    - folder_a
        - sub_project_a
            - api
                - module_a
                    - test
                - module_b
                    - test
python pytest pythonpath
© www.soinside.com 2019 - 2024. All rights reserved.