VS Code Python单元测试“未运行测试” - python

我正在使用unittest在VS Code中设置python单元测试,并遇到一些问题。

我可以通过从状态栏中选择“运行测试”并在资源管理器中右键单击我的测试文件来运行测试。当我执行这些操作时,在Python测试日志窗口中会看到单元测试输出(例如,“ test_name ... ok”和“ Ran 1 test in 0.002s”),但是我收到一条VS代码通知,内容为“未运行任何测试,请检查测试的配置设置。”我也没有看到运行测试|在测试文件中调试测试代码镜头。

我已经按照VS Code文档中的设置说明进行操作:https://code.visualstudio.com/docs/python/unit-testing,但是我想知道是否还需要执行其他步骤才能与IDE进行正确集成?

我在Windows上使用VS Code版本1.12.1。

参考方案

见unittest test discovery

Unittest支持简单的测试发现。为了兼容
通过测试发现,所有测试文件必须是模块或软件包
(包括名称空间包)可从顶级目录导入
项目的名称(这意味着其文件名必须有效
身份标识)。

我阅读了unittest Basic Example,没有关于将测试文件添加到模块的内容。
这就是为什么您可以看到Run Test | Debug Test code lens in the test文件的原因
但是不能使测试发现发现它。

要使其成为模块,应在同一目录中创建一个__init__.py文件。

ps:对于其他无法在测试上方看到Run Test | Debug Test代码镜头的人,这意味着您无法使unittest将单个文件作为测试文件来发现。
检查-p pattern也许是正确的举动。

子条件的python条件覆盖 - python

我试图找到一个python代码覆盖率工具,该工具可以衡量语句中是否包含子表达式:例如,我想看看下面的示例是否涵盖了condition1 / condition2 / condtion3?if condition1 or condition2 or condition3: x = true_value python大神给出的解决方案 对此的唯一合理答案是:当前…

是否可以激活以VSCode开头的路径作为前缀的conda环境? - python

例如,conda create -p $PWD/env将创建一个以当前工作目录为前缀的新conda环境。要激活环境,请使用命令conda activate $PWD/env。VSCode看到环境没有问题。选择正确的解释器并启动新的集成终端后,VSCode尝试使用以下命令conda activate env激活环境,该命令不起作用。有没有办法让VSCode使用…

Docker开发环境中,pylint无法导入错误 - python

我有一个问题,我一直在为django 2.0项目使用docker环境,而pylint工作正常,但现在显示无法导入模块错误。我知道导入错误问题已被问过很多次,但它始终是针对venv设置而不是docker环境设置。我不确定是什么导致了错误,但是可能是因为我删除了旧的容器,卷,图像并从头开始。我在Manjaro Linux上使用Python 3和VSCode。在此…

重写python脚本,在脚本的每个类中注入一个方法 - python

假设我有一个python模块foo.py,其中包含:class Foo(object): def __init__(self): pass 接下来,我想解析此脚本,并在每个类中注入一个方法,然后将其重写为如下所示:class Foo(object): def __init__(self): pass def my_method(self): pass # d…

如何获得Python中动态定义函数的源代码? - python

在Python中动态定义代码时(例如,通过exec或从import以外的其他媒体加载代码),我无法获取已定义函数的源代码。inspect.getsource似乎从加载位置查找已加载的模块。import inspect code = """ def my_function(): print("Hello dears�…