BDD - Python Behave VS Code 插件 Behave VSC

news2025/1/18 17:11:41

BDD - Python Behave VS Code 插件 Behave VSC

  • 引言
  • Behave VSC 插件
    • Behave VSC 安装
    • Behave VSC 注意事项
      • Behave VSC 插件默认可识别的项目结构
      • Behave VSC 设置识别非 features 文件名的项目

引言

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

  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 插件就能识别你的项目了。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1331165.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言之指针

目录 函数的参数 对象和地址 取地址运算符 注意 指针 注意 指针运算符 注意 在C语言中,指针是一个十分重要的概念,它的作用是“指示对象”。 例如:你要去一座公寓楼找一位朋友,公寓楼由很多楼层组成,每个楼层…

MySQL中CASE when 实战

CASE 语法 CASEWHEN condition1 THEN result1WHEN condition2 THEN result2WHEN conditionN THEN resultNELSE result END; 将表中的内容转换为右边的形式: 1、创建表,创建数据 CREATE TABLEchapter10_7 (order_id VARCHAR(255) NULL,price VARCHAR(25…

【Linux驱动】字符设备驱动程序框架 | LED驱动

🐱作者:一只大喵咪1201 🐱专栏:《RTOS学习》 🔥格言:你只管努力,剩下的交给时间! 目录 🏀Hello驱动程序⚽驱动程序框架⚽编程 🏀LED驱动⚽配置GPIO⚽编程驱动…

NHNL因子如何刻画行业强弱

根据华福证券-市场情绪指标专题(五),进行了提炼和改写,特此致谢! ( N H N L ) % ( c o u n t ( H H V ) − c o u n t ( L L V ) ) / N (NHNL)\% (count(HHV) - count(LLV))/N (NHNL)%(count(HHV)−count(LLV))/N 个…

Uniapp + Vue3 + Pinia + Vant3 框架搭建

现在越来越多项目都偏向于Vue3开发&#xff0c;想着uniapp搭配Vue3试试效果怎么样&#xff0c;接下来就是详细操作步骤。 初始化Uniapp Vue3项目 App.vue setup语法 <script setup>import {onLaunch,onShow,onHide} from dcloudio/uni-apponLaunch(() > {console.l…

Linux poll 和 select 机制

poll select 介绍 使用非阻塞 I/O 的应用程序常常使用 poll, select, 和 epoll 系统调用. poll, select 和 epoll 本质上有相同的功能: 每个允许一个进程来决定它是否可读或者写一个 或多个文件而不阻塞. 这些调用也可阻塞进程直到任何一个给定集合的文件描述符可用来 读或写.…

叮咚,微信年度聊天报告(圣诞节版)请查收~丨GitHub star 16.8k+

微信年度聊天报告——圣诞节特别版&#xff0c;快发给心仪的ta吧~ 开源地址 GitHub开源地址&#xff1a;https://github.com/LC044/WeChatMsg 我深信有意义的不是微信&#xff0c;而是隐藏在对话框背后的一个个深刻故事。未来&#xff0c;每个人都能拥有AI的陪伴&#xff0c;…

「Vue3面试系列」Vue3.0性能提升主要是通过哪几方面体现的?

文章目录 一、编译阶段diff算法优化静态提升事件监听缓存SSR优化 二、源码体积三、响应式系统参考文献 一、编译阶段 回顾Vue2&#xff0c;我们知道每个组件实例都对应一个 watcher 实例&#xff0c;它会在组件渲染的过程中把用到的数据property记录为依赖&#xff0c;当依赖发…

显卡之争!英伟达和AMD下场互掐!GPU霸主地位是否能保?

大家好&#xff0c;我是二狗。 英伟达和AMD这两家芯片巨头掐起来啦&#xff01; 事情的起因是&#xff0c;两周前AMD董事会主席兼CEO苏姿丰在一场活动中发布了用于生成式AI和数据中心的新一代Intinct MI300X GPU芯片加速卡。 单单发布显卡没啥问题&#xff0c;但是AMD声称MI300…

【Spring实战】03 JDBC常用操作

文章目录 1. JdbcTemplate 类1&#xff09;queryForList2&#xff09;update3&#xff09;query4&#xff09;execute5&#xff09;queryForObject 2.代码及执行1&#xff09;代码2&#xff09;执行 3. 优点4. 详细代码总结 Spring JDBC 是 Spring 框架提供的一种用于简化数据库…

05. Springboot admin集成Actuator(一)

目录 1、前言 2、Actuator监控端点 2.1、健康检查 2.2、信息端点 2.3、环境信息 2.4、度量指标 2.5、日志文件查看 2.6、追踪信息 2.7、Beans信息 2.8、Mappings信息 3、快速使用 2.1、添加依赖 2.2、添加配置文件 2.3、启动程序 4、自定义端点Endpoint 5、自定…

基于epoll的web服务器(C语言版本)

基于epoll的web服务器(C语言版本) 1. 初始化监听套接字 包括创建监听套接字&#xff0c;设置端口复用&#xff0c;绑定&#xff0c;设置监听等步骤 1.1 创建监听套接字&#xff08;socket函数&#xff09; socket()打开一个网络通讯端口&#xff0c;如果成功的话&#xff0…

界面控件DevExpress v23.2全新发布 - 官宣正式支持.NET 8

DevExpress拥有.NET开发需要的所有平台控件&#xff0c;包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress 今年第一个重要版本v23.1正式发布&#xff0c;该版本拥有众多…

【精选】vulnhub CTF6 linux udev提权 (青铜门笔记)

一、信息收集 1.主机探测 发现靶机的IP地址是&#xff1a;192.168.103.130 ┌──(root&#x1f480;kali)-[~] └─# arp-scan -l2.访问web页面 发现有个登录的页面&#xff0c;尝试了弱口令&#xff0c;但是发现没有成功&#xff1b; 所以&#xff0c;我们需要在后面的信…

单词接龙[中等]

一、题目 字典wordList中从单词beginWord和endWord的 转换序列 是一个按下述规格形成的序列beginWord -> s1 -> s2 -> ... -> sk&#xff1a; 1、每一对相邻的单词只差一个字母。 2、对于1 < i < k时&#xff0c;每个si都在wordList中。注意&#xff0c;beg…

数值分析期末复习

第一章 科学计算 误差 解题步骤 先求绝对误差: ∣ x − x ∗ ∣ |x - x^*| ∣x−x∗∣求相对误差限: ∣ x − x ∗ ∣ x ∗ \frac{|x\,\,-\,\,x^*|}{x^*} x∗∣x−x∗∣​求有效数字 ∣ x − x ∗ ∣ 需要小于它自身的半个单位 |x-x^*|\text{需要小于它自身的半个单位} ∣…

Kafka集群架构原理(待完善)

kafka在zookeeper数据结构 controller选举 客户端同时往zookeeper写入, 第一个写入成功(临时节点), 成为leader, 当leader挂掉, 临时节点被移除, 监听机制监听下线,重新竞争leader, 客户端也能监听最新leader leader partition自平衡 leader不均匀时, 造成某个节点压力过大, …

数字信号的理解

1 数字信号处理简介 数字信号处理 digital signal processing&#xff08;DSP&#xff09;经常与实际的数字系统相混淆。这两个术语都暗示了不同的概念。数字信号处理在本质上比实际的数字系统稍微抽象一些。数字系统是涉及的硬件、二进制代码或数字域。这两个术语之间的普遍混…

物联网产品设计,聊聊设备OTA的升级

物联网产品设计部分的OTA设备固件是一个非常重要的部分&#xff0c;能够实现升级用户服务、保障系统安全等功能。 在迅速变化和发展的物联网市场&#xff0c;新的产品需求不断涌现&#xff0c;因此对于智能硬件设备的更新需求就变得空前高涨&#xff0c;设备不再像传统设备一样…

SQL分类

SQL分类 DDL 查询库 查询表 创建表 修改表 DML 添加数据 修改数据 删除数据 DQL 基本查询 条件查询 聚合函数 分组查询 排序查询 分页查询 执行顺序 DCL 管理用户 管理权限 数据类型 数值类型 字符串类型 日期类型