最新要闻
- 老人推倒摩托后去世 继承人被起诉背后:老人是惯犯 车主不能忍
- 全球短讯!衡水新型冠状病毒肺炎疫情:2月24日衡水疫情最新消息今天数据统计情况通报
- 全球即时:搜狗输入法UOS版上架统信UOS:适配龙芯LoongArch等架构
- 当前最新:《狂飙》取景地拍照收费摊主已搬离:没给续签合同
- 环球速看:索尼A7M4将发布2.0固件 或下放部分索尼A7R5功能
- 80%的人出错了 你的数码相机用对了吗?
- 全球热讯:爱奇艺奇迹一般的赚钱了!但是 就这它也好意思?
- 快看点丨AMD Zen4锐龙9 7945HX大放异彩!16核心打平Intel 24核心
- 世界今头条!长色斑的原因有哪些_脸上为什么会长色斑
- 环球观焦点:AMD发布23.2.2版驱动:RX 7900显卡小打鸡血 性能提升14%
- 天天最新:大理州5个新能源装备制造项目投产
- 深圳一外卖小哥疑送餐时猝死:曾拼命跑上六楼
- 环球热头条丨向上捅破天 吉利银河支持低轨卫星技术:全球无盲区定位
- 13代酷睿i9+满血4060显卡!华硕天选4正式开售 到手价8999元
- 当前短讯!造车新势力 电动自行车品牌“VELOTRIC”A轮融资:获5000万元
- 中疾控提醒:近期水痘处于高发期 要注意做好防护!
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
天天最资讯丨记Cucumber行为驱动测试的简单配置与使用方式
(相关资料图)
产生背景
代码测试的工具有很多,比如最常用的单元测试工具Junit、Jupiter、Mockito和PowerMockito,这几个可以说是Java开发者的心头好,代码测试一般都是用这几个里面的某一个或者一组(Mockito和PowerMockito)结合进行使用,现在代码测试的问题可以很好的得到解决,但是新的问题又产生了,这里的问题不是指代码是否有缺陷的问题,而是说随着用户群体的扩大,可能有些并不怎么接触代码的人(比如产品和甲方)想亲眼看到孵化的产品安全性是否可靠、健壮性是否够足够,这个时候就要求开发人员能写一些他们看得懂的测试用例并给出对应的测试报告;在这种情况下,cucumber应运而生了。
cucumber简介
cucumber是BDD(Behavior-driven development,行为驱动开发)的一个自动化测试框架产品,cucumber使用自然语言来描述测试,通过设置中文描述可以连通业务人员和开发人员,使得需求清晰明了,进而消除两种角色之间理解上的差异——功能上和需求上。牛刀小试
此处使用springboot项目进行简单的cucumber编写与测试,各种相关cucumber的知识会在下面的步骤中一一具体说明;
pom配置
io.cucumber cucumber-java8 4.2.0 test io.cucumber cucumber-junit 4.2.0 test io.cucumber cucumber-spring 4.2.0 test
待测试Controller接口
@RestController@RequestMapping("api")public class WebSocketController { @Autowired private WebSocketService webSocketService; @GetMapping("name") public String getName() { return webSocketService.getName();//返回 查询成功 字段
} }
编写feature
根据业务需求,在src/test/resources目录下新建features文件夹管理.feature文件,在src/test/java目录下撰写每一个step对应的步骤定义java文件。
需要注意的是,cucumber可以支持多种语言,包括中文。本文仅介绍中文实现方式,中文实现方式在feature文件中加入:
# language:zh-CN
编写feature对应BDD文件
public class GetNameBDD { private String BASE_URL = "http://localhost:8081"; private String URL = null; private String result = null; @假定("将要调用获取name接口") public void getNamePrepare() { URL = BASE_URL + "/api/name"; } @当("获取了name") public void hadGetName() { TestRestTemplate testRestTemplate = new TestRestTemplate(); result = testRestTemplate.getForObject(URL, String.class); } @并且("name是{string}") public void judge(String nameStr) { assert nameStr.equals(result); } @那么("执行成功") public void success() { System.out.println("测试结果正常"); }}
编写测试类
@RunWith(Cucumber.class)//以cucumber的方式运行测试文件@CucumberOptions( monochrome = true,//详细显示运行结果 plugin = {"pretty", "json:target/cucumber-report/json-files/cucumber.json", "html:target/cucumber-report/cucumber.html"},//生成本地json和html测试报告 features = "src/test/resources/features")//feature文件存放位置
public class CucumberTest { }
运行测试
上面的做完以后运行测试就很简单了,首先把项目正常启动起来(测试的本质是接口的调用),之后运行CucumberTest文件,就能得到如下测试结果;其中需要注意的是,Scenarios就是我们说的场景,Step就是我们在场景下编写的那些行文字,每个step都有BDD方法与之唯一对应;
测试报告
测试报告生成在target/cucumber-report下
-
天天最资讯丨记Cucumber行为驱动测试的简单配置与使用方式
产生背景代码测试的工具有很多,比如最常用的单元测试工具Junit、Jupiter、Mockito和PowerMockito,这几...
来源: -
全球短讯!衡水新型冠状病毒肺炎疫情:2月24日衡水疫情最新消息今天数据统计情况通报
衡水新型冠状病毒肺炎疫情:2月24日衡水疫情最新消息今天数据统计情况通报,截至2月24日06时31分衡水疫情...
来源: 天天最资讯丨记Cucumber行为驱动测试的简单配置与使用方式
老人推倒摩托后去世 继承人被起诉背后:老人是惯犯 车主不能忍
【全球独家】读Java实战(第二版)笔记19_尾声
全球短讯!衡水新型冠状病毒肺炎疫情:2月24日衡水疫情最新消息今天数据统计情况通报
全球即时:搜狗输入法UOS版上架统信UOS:适配龙芯LoongArch等架构
每日短讯:干翻 nio ,王炸 io_uring 来了 !!(图解+史上最全)
全球快看:CPU推理|使用英特尔 Sapphire Rapids 加速 PyTorch Transformers
世界视点!死锁面试题
18、实体类对象比对-JSON
产品经理,项目经理,FTO
当前最新:《狂飙》取景地拍照收费摊主已搬离:没给续签合同
环球速看:索尼A7M4将发布2.0固件 或下放部分索尼A7R5功能
80%的人出错了 你的数码相机用对了吗?
全球热讯:爱奇艺奇迹一般的赚钱了!但是 就这它也好意思?
快看点丨AMD Zen4锐龙9 7945HX大放异彩!16核心打平Intel 24核心
世界今头条!长色斑的原因有哪些_脸上为什么会长色斑
热门:007 - 研究
每日信息:47.多态
第二章 物理层
day02-自己实现Mybatis底层机制-01
世界快资讯:CSS背景设置与Emmet语法
环球观焦点:AMD发布23.2.2版驱动:RX 7900显卡小打鸡血 性能提升14%
天天最新:大理州5个新能源装备制造项目投产
深圳一外卖小哥疑送餐时猝死:曾拼命跑上六楼
环球热头条丨向上捅破天 吉利银河支持低轨卫星技术:全球无盲区定位
13代酷睿i9+满血4060显卡!华硕天选4正式开售 到手价8999元
当前短讯!造车新势力 电动自行车品牌“VELOTRIC”A轮融资:获5000万元
中疾控提醒:近期水痘处于高发期 要注意做好防护!
13代酷睿+RTX 4060!七彩虹将星X16 Pro图赏
19999元起 雷蛇推出2023款灵刃15游戏本:i7+RTX 4060
股价大涨7% 阿里发布Q3财报:营收2477.6亿 利润超456亿
全球快报:第八章 从源文件到可执行文件
天天通讯!《黑豹》《蚁人》皆扑街 漫威超级英雄为何在国内失宠?
男子一脚急刹车醒来直接四肢瘫痪 医生提醒:车祸受伤后别随意拖拽
焦点快看:系列首次支持:三星Galaxy Tab S9平板终于支持IP67防水
每日热文:三星S23首销:仅重168g的骁龙8 Gen2旗舰 屏幕比小米13更小
涨价2000只是开胃菜!销售:特斯拉还要涨价
全球今热点:电工化身“Tony”,为留守老人解决“头”等大事
环球聚焦:邓超谈《中国乒乓》排片少:大家的不容易我非常理解
今亮点!摩根大通已限制员工使用ChatGPT:数据安全更重要
世界视讯!我国第三款国产ECMO产品获批上市:性能达到国际水平
全球即时:月薪4万招人去非洲养鸡当场长?企业回应:环境艰苦 不招年轻人
当前焦点!Windows 上 Docker 部署 MongoDb 并构建数据持久化
2022最新整理iOS app上架app详细教程
webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题
当前最新:记录--前端项目中运行 npm run xxx 的时候发生了什么?
前沿资讯!科考中的意外收获!中国科学家在非洲发现消失百余年的濒危植物
天天速读:极氪001再遭奇葩故障:中控黑了、仪表花了、HUD“涂马赛克”
刚买两个月的谷歌Pixel 7 Pro翻车:绿屏无响应 用户绝望了
世界今头条!《和平精英》将推出开放世界玩法“绿洲世界” 能发射火箭
焦点信息:连过三科!新疆小伙1天拿到驾驶证
今日热议:低代码选型,论协同开发的重要性
【JVM】运行时内存分配
opencv-python 批量更改图像分辨率并且保留图像原有的透明度
热点!数据库概念
世界滚动:k8s~ingress限流机制
全球即时看!方正证券研究报告:行到水穷处,坐看云起时
环球快资讯丨不怕零下40℃极寒!我国复兴号高寒智能动车组投入运行
天天播报:为防员工摸鱼办公桌旁装监控 员工:很无语、感觉没隐私
《王者荣耀》花木兰新皮肤明日上线:143元 美背歌姬
世界时讯:海底捞回应禁止自带菜:可自带酒水饮品
天天短讯!RTX 4090高画质如何?《原子之心》PC平台性能分析:多配置流畅运行
【世界热闻】单特征线性回归
全球实时:为什么说《ps1屠龙刀》是awk、sed的恩人?
天天最资讯丨C语言在线代码运行编译工具推荐
全球快播:联想首款GeekPro游戏本真机公布:1TB SSD 超高性价比
环球微头条丨我国研发人员总量稳居世界首位 顶尖科技人才加速涌现
跑着跑着天窗会掉 奔驰中国召回超2万辆汽车
68岁成龙18年后再拍《神话2》 定名《传说》 古力娜扎主演
观速讯丨外卖员穿工装禁入成都高端商场 成都SKP回应:内部规定
焦点日报:135期 手绘汽车壁纸|插画 卫士还是老款好看 路虎卫士无水印手机壁纸
每日快讯!手把手教你为基于Netty的IM生成自签名SSL/TLS证书
当前热门:《我想进大厂》之Spring夺命连环10问
《分布式技术原理与算法解析》学习笔记Day20
世界看点:数据治理如何做?火山引擎DataLeap帮助这款产品3个月降低计算成本20%
世界今头条!装饰器设计模式这样学,保你必懂!
当前速讯:手机端ChatGPT搜索来了!微软2周火速上线 @Bing即用
多辆房车霸占高速服务区露营:有车主搭帐篷还晒咸菜
魔兽等游戏停服一个月 暴雪真不着急:两家中国公司抢破头
P1219 [USACO1.5]八皇后 Checker Challenge
世界新资讯:Java单元测试浅析(JUnit+Mockito)
81python装饰器
环球聚焦:《龙之家族》第二季明年首播
环球播报:Nginx基础03:配置文件nginx.conf(Part2)
【独家焦点】Python工具箱系列(二十六)
有奖调研!第五期(2022-2023)传统行业云原生技术落地调研——金融篇
全球快资讯丨A/B 测试成为企业“新窗口”:增长盈利告别经验主义,数据科学才是未来
晨光文具批发总部电话_石家庄晨光办公用品有限公司
环球要闻:新款特斯拉Model 3实车谍照曝光:疑似加长、内饰大改
可口可乐风味饮品!柠檬道日式气泡酒大促:12罐不到30元
前沿资讯!《嗜血印》将推出女祭司1/4比例雕像 性感热辣吸睛
焦点快播:送礼新思路!淘宝公布2023年度丑东西:网红青蛙服入选“年度五丑”
天天快报!C# Socket 通信时,怎样判断 Socket 双方是否断开连接
易基因|ChIP-seq等组学研究鉴定出结直肠癌的致癌超级增强子:Nature子刊
报道:顶象APP加固的“蜜罐”技术有什么作用
为什么带NOLOCK的查询语句还会造成阻塞
全球今亮点!支付宝二面:使用 try-catch 捕获异常会影响性能吗?大部分人都会答错!
名山大川是什么意思?名山大川有哪些?
喜欢被剧透的人是什么心理?喜欢被剧透的人是什么倾向?
每日快报!58岁清华毕业找不到超5000元工作 网友:我不是清华的咋办