BDD - Python Behave VS Code 插件 Behave VSC
引言
上一篇《BDD - Python Behave 入门》介绍了 Behave 的入门基础知识,如何创建项目,运行及生成测试报告。我是用 VS Code 开发的,发现 .feature 文件的内容就是普通的文本,没有任何高亮,Gherkin step 也导航不到具体 step 实现代码中,界面上不能执行单个用例,很是不方便,于是就想找找 Behave 是否有 VS Code 支持的插件。
Behave VSC 插件
Behave VSC 插件就可以解决上面的一些问题,详情请参考官网,下面就来介绍一下 Behave VSC 的使用及注意事项。
Behave VSC 安装
打开 VS Code -》Settings -》Extensions,输入 Behave VSC, 点击 Install 就可以了。
安装完以后的界面的变化, 看着舒服多了,高亮,界面上就可以直接运行 bebug 测试用例,右键菜单也可以导航到 step 代码实现。
绿色箭头运行按钮右键还可以展开 Test Explore,可以看到所有的 Test Cases,真方便。
Behave VSC 注意事项
Behave VSC 对项目的目录结构是有要求的,唯一的 features 功能文件夹(默认为小写),它要么包含一个 steps 文件夹,要么在同一级别上有一个兄弟 steps 文件夹。当然你也可以不用 features 文件夹名,但是 behave 要求你必须有一个名为 “steps” 的文件夹,且 Behave VSC 插件只识别 steps 是小写,像 Steps 首字母大写是不识别的。
Behave VSC 插件默认可识别的项目结构
Behave VSC 插件默认可识别的项目结构有如下三种,注意默认的 features 和 steps 文件夹的名字是固定且是小写,直接位于项目跟目录下。
Example 1: features 和 steps 文件夹是父子关系
Example 2: features 和 steps 文件夹是兄弟关系
Example 3: features 和 steps 文件夹是父子关系,steps 文件夹也可以是包含在某子 features 文件夹里
注意,steps 同时在某子 features 文件夹,我实践了一把,发现不能识别到,有点奇怪,所以最好还是就一个 steps 文件夹,所有的 step 实现文件都放这个文件夹。
Behave VSC 设置识别非 features 文件名的项目
有时你可能不用默认的 features 文件名,而且不是直接挂在项目根目录下的,但是请注意 steps 文件夹名不能重命名且应小写,如下面这种情况
Behave VSC 是不能识别的,会有下面的提示信息:
Extension was activated because a '*.feature' file was found in a workspace folder, but none of the workspace folders contain either a root 'features' folder or a settings.json that specifies a valid 'behave-vsc.featuresPath'. Please add a valid 'behave-vsc.featuresPath' property to your workspace settings.json file and then restart vscode.
我们需要做一些额外的设置,使得 Behave VSC 能识别我们的项目
- 在项目根目录下添加文件 behave.ini
注意:是在项目根目录下创建 behave.ini 文件,不然每天运行 behave 命令就得定位到当前 behave.ini 有父目录
添加一个 paths 设置为 feature 根目录 和 Steps 根目录的父节点路径,注意是相对路径。
# behave.ini
[behave]
paths=BDD
- 更新 extension 设置
打开 VS Code -> Settings -> Workspace -> Extensions -> behave-vsc -> Feature Path 设置成 feature 的根目录路径,注意是相对路径,
例如:BDD/Features
- 重启 VS Code
注意以上的设置需要重启 VS Code 才生效,你会发现项目的多了一个 settings 文件,这样 Behave VSC 插件就能识别你的项目了。