首页 > 解决方案 > 如何配置 vscode 以发现 python 单元测试

问题描述

我想使用 Visual Studio 代码、Python 和 unittest 为 Web 应用程序创建自动化测试。但是我的测试资源管理器无法发现测试(没有错误出现,它只是空的)。

尽管我需要扩展(Python、测试资源管理器 UI 和 Python 测试资源管理器)、准备好 settings.json 以及所需的方法和类的装饰,但运行所有测试或发现之类的命令不起作用。但是调试整个文件实际上会运行测试(我在终端中看到输出)。

代码:

import unittest

class testClass(unittest.TestCase):
    def test_method(self):
        self.assertEqual(1, 1)
    def test_method2(self):
        self.assertEqual(1, 2)

if __name__ == '__main__':
    unittest.main()

设置:

{
    "testExplorer.showOnRun": true,
    "python.testing.unittestEnabled": true,
    "python.testing.pyTestEnabled": false,
    "python.testing.nosetestsEnabled": false,
    "python.pythonPath": "C:\\Users\\Cezary\\AppData\\Local\\Programs\\Python\\Python37-32\\python.exe"
}

标签: pythonvisual-studio-codeautomated-tests

解决方案


需要考虑的事项清单:

  1. 您应该以 . 开头命名您的测试文件test_
  2. python -m unittest discover在您的项目根目录中运行。如果那找不到您的测试,VSCode 也不会找到它们。
  3. 将测试文件放在根文件夹中以查看是否可以找到它/然后将其移动到子模块(考虑__init__.py文件)

推荐阅读