【问题标题】:VS Code Python unittest "No tests ran"VS Code Python unittest“没有运行测试”
【发布时间】:2018-11-08 10:33:01
【问题描述】:

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

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

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

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

【问题讨论】:

  • 方法名都是test开头的吗?
  • 是的,我从 unittest Basic Example 复制了测试,以便在设置时使用。
  • 您使用的是 VS Code .1.21.11.12.1 吗?您可以尝试从.vscode/settings.json 中删除测试设置并运行Run All Unit Tests 命令,它将指导您完成设置。
  • 测试目录中有__init__.py 吗?如果不是,unittest 不会将其视为测试模块,然后会发现它。
  • @AnneThompson。你解决了吗?我也有同样的问题。

标签: python unit-testing visual-studio-code


【解决方案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发现单个文件作为测试文件。
检查-ppattern也许是正确的举动。

【讨论】:

    猜你喜欢
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    相关资源
    最近更新 更多