PyCharm 集成¶
PyTest YAML 插件为 PyCharm 提供了对 pytest-yaml-sanmu 测试用例的深度集成。
备注
暂只支持 Pycharm 2025.2.4+
该插件将符合模式(默认为 test_*.yaml )的YAML文件识别为测试文件,旨在弥合文本格式与 PyTest 执行环境之间的差异。主要功能包括:
语法校验:基于 pytest-yaml-sanmu 规范及用户自定义步骤的实时校验
便捷执行:支持直接在编辑器中一键运行 YAML 测试文件
运行配置:完整支持环境变量、解释器选择及 PyTest 参数配置
安装¶
插件可通过 JetBrains Marketplace 安装,或通过本地磁盘文件安装:
打开 PyCharm 设置 (Settings/Preferences)
导航至 Plugins
搜索 PyTest YAML 或选择 "Install Plugin from Disk..."
插件配置¶
插件的全局配置位于 Settings > Tools > PyTestYAML
业务步骤 Schema¶
为了启用对自定义业务步骤的代码补全和校验,您需要在配置中指定 Schema 路径。插件支持两种工作模式:
目录模式(推荐):指向一个包含多个
.yaml或.json文件的目录。插件会自动扫描该目录,将每个文件识别为一个独立的步骤定义(以文件名为 Key),并自动进行合并文件模式(高级):指向一个单独的 Schema 入口文件。适用于需要手动管理
anyOf、$ref或复杂继承结构的高级用户
若留空,插件将仅使用 pytest-yaml-sanmu 内置的基础 Schema(对step仅要求为数组,无其他约束)。
校验与补全¶
插件利用 JSON Schema 技术对 YAML 文件进行静态分析
实时校验
当缺少必要的依赖库(如 pytest-yaml-sanmu)或出现不符合 Schema 定义的字段时,编辑器会进行行内高亮提示
代码补全 基于配置的 Steps Schema Path,插件提供上下文感知的代码提示
步骤关键字补全:提示可用的步骤名称(如
request)。
属性补全:提示特定步骤下的有效属性(如
request步骤下的method、url)
运行测试¶
插件会自动识别项目中匹配 test_*.yaml 模式的文件(匹配模式可在设置中修改)
上下文菜单¶
您可以右键点击编辑器背景,或点击测试定义旁边的行号栏图标(Gutter Icon)来运行测试
运行/调试配置¶
插件为每个执行的文件创建标准的 PyCharm 运行配置。您可以在 Run > Edit Configurations... 中进行自定义
支持的配置项包括:
Target:脚本路径(自动设置)
Additional Arguments:传递给 pytest 的附加参数(例如
-vs,--alluredir=./report)Environment Variables:为测试运行设置特定的环境变量
Python Interpreter:选择执行测试的虚拟环境或系统解释器
Working Directory:默认为项目根目录
路线图¶
当前版本主要依赖 JSON Schema 规范来实现通用的校验和补全功能。未来的更新计划通过 PyCharm 原生的 PSI (Program Structure Interface) 接口进行深度集成。
计划中的特性:
增强型补全 (CompletionContributor): 计划从 Schema 提示升级为原生代码补全,支持为不同类型的步骤显示特定图标、渲染文档注释弹窗,以及更智能的列表过滤逻辑。
自定义代码检查 (Annotator): 计划替代通用的 Schema 错误信息,提供更精准、更具可读性的错误提示(如 "未知步骤 'reqiest',您是否是指 'request'?")。
快速修复 (Quick Fixes): 支持一键修复步骤名称拼写错误,或自动生成必填字段模板。