python - 如何配置 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"
}
解决方案
需要考虑的事项清单:
- 您应该以 . 开头命名您的测试文件
test_
。 python -m unittest discover
在您的项目根目录中运行。如果那找不到您的测试,VSCode 也不会找到它们。- 将测试文件放在根文件夹中以查看是否可以找到它/然后将其移动到子模块(考虑
__init__.py
文件)
推荐阅读
- c# - 如何从 .net 核心的控制器操作中的操作过滤器访问对象?
- mysql - 为什么mysql表原始ID没有连续显示?
- python-3.x - tkinter 小部件 ipad(x/y) 的工作方式与 pad(x,y) 不同
- python - Django 重定向 NoReverseMatch
- git - 如何自动推送和拉取修改后的 docker 镜像?
- c# - AutoFixture 深度冻结对象
- r - 使用决策规则拆分其他数据
- jenkins - Jenkins:从远程触发的构建中获取用户名
- elasticsearch - Elasticsearch 索引中的映射字段数
- css - 使用 MS Word 打开 html/css 文件 - 元素表 - 不应用文本换行