gpt4 book ai didi

python - Github pytest 操作无法从测试/文件夹导入

转载 作者:行者123 更新时间:2023-12-04 16:45:24 26 4
gpt4 key购买 nike

我有一个 GitHub 操作设置来运行 pytest。这在一个月左右前有效,但现在突然出现以下错误:

==================================== ERRORS ====================================
_____________ ERROR collecting tests/test_encoding/test_encode.py ______________
import file mismatch:
imported module 'test_method' has this __file__ attribute:
/home/runner/work/my_module/my_module/src/my_module/tests/test_package/test_method.py
which is not the same as the test file we want to collect:
/home/runner/work/my_module/my_module/tests/test_package/test_method.py
HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules
对于我所有的测试文件,这是一个为了可读性而替换名称的示例。
它与我的目录放置的位置有关,但我不知道为什么它会变成这样?出于某种原因,它正在查看我的 tests/ /home/runner/work/my_module/my_module/src/my_module/ 中的文件夹而不是 /home/runner/work/my_module/qiskit-quantum-knn/ .我从来没有添加过 src/文件夹到我的项目。我还检查了我是否不小心提交了 __pycache__.pytest_cache/ , 但事实并非如此。
我比较了 current logs到我的日志 a couple of months back (成功了)并且在作业设置和操作设置期间似乎完全相同。
运行时 pytest在我的本地机器上,它工作得很好。
我的项目结构如下:
my_module
├── docs/
├── my_module
│   ├── package1/
│   ├── package2/
└── tests/
├── test_package1/
│ └── test_method1.py
└── test_package2/
└── test_method2.py
为真正想深入了解日志的人添加了超链接。

最佳答案

它必须对 pip 和 pytest 的版本做一些事情,我没有在我的工作流程中固定它们。解决方案是我的一个好 friend 找到的,在这个pull request中修复了.
这意味着添加一个 pytest.ini到我的项目的根目录,其中包含以下内容:

# pytest.ini
[pytest]
testpaths =
tests
python_files = test_*.py
addopts = -rf --import-mode=importlib

关于python - Github pytest 操作无法从测试/文件夹导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65090928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com