【发布时间】:2018-08-04 20:08:45
【问题描述】:
我有一个像这样的简单 python 单元测试...
项目/ 计算/ 计算.py calc_test.py
calc.py 有两个函数 sum() 和 diff(),calc_test.py 有两个测试用例来测试这些函数,使用 python 内置的 unittest 框架。
我使用 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 的 Python 扩展 (https://github.com/Microsoft/vscode-python/issues/new) 上打开一个问题,但想根据贡献指南先在这里查看。
【问题讨论】:
标签: python unit-testing visual-studio-code