gpt4 book ai didi

python - vscode python 无法递归发现单元测试

转载 作者:行者123 更新时间:2023-11-28 18:14:54 29 4
gpt4 key购买 nike

我有一个像这样的简单 python 单元测试...

项目/ 计算/ 计算器.py 计算测试.py

calc.py 有两个函数 sum() 和 diff(),calc_test.py 有两个测试用例来测试这些函数,使用 python 内置的单元测试框架。

我使用 Visual Studio 代码作为我的编辑器。如果我将顶级工作区设置为“项目”目录,则 VS Code 无法发现任何测试。但是,如果在“calc”目录下重新打开 VS Code,那么它会识别测试并显示漂亮的叠加层(“运行测试”、“调试测试”等)。

如果我将单元测试移到上一级(到 proj/),那么它也可以工作。我的内存是参数“-s”和目录“。”应该从运行“python -m unittest <..>”命令的顶级目录递归地查找“test.py”文件。

"python.unitTest.unittestEnabled": true,
"python.unitTest.unittestArgs": [
"-v",
"-s",
".",
"-p",
"*test*.py"
],

从 proj/我手动运行“python -m unittest discover -s . -p”test.py“-v,测试被发现并运行没有任何问题。我想 VS Code 应该也在内部运行类似的命令,但这里缺少一些东西。

这使得 VS Code 看起来无法从顶级目录递归地查找测试。我正要在 VS Code ( https://github.com/Microsoft/vscode-python/issues/new ) 的 Python 扩展中打开一个问题,但想根据贡献指南首先在此处检查。

最佳答案

解决方案是在每个测试用例所在的文件夹中添加__init__.py

来自 Python testing in Visual Studio Code :

Tip: Sometimes tests placed in subfolders aren't discovered becausesuch test files cannot be imported. To make them importable, create anempty file named __init__.py in that folder.

关于python - vscode python 无法递归发现单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48970376/

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