BDD - Python Behave VS Code 插件 Behave VSC

发布时间:2023年12月22日

引言

上一篇《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 文件夹里
在这里插入图片描述

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 能识别我们的项目

  1. 在项目根目录下添加文件 behave.ini
    添加一个 paths 设置为 feature 根目录 和 Steps 根目录的父节点路径,注意是相对路径。
# behave.ini
[behave]
paths=BDD
  1. 更新 extension 设置
    打开 VS Code -> Settings -> Workspace -> Extensions -> behave-vsc -> Feature Path 设置成 feature 的根目录路径,注意是相对路径,
    例如:BDD/Features
    在这里插入图片描述
  2. 重启 VS Code
    注意以上的设置需要重启 VS Code 才生效,你会发现项目的多了一个 settings 文件,这样 Behave VSC 插件就能识别你的项目了。
    在这里插入图片描述
文章来源:https://blog.csdn.net/wumingxiaoyao/article/details/135139773
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。