Cucumber
1.介绍
--cucumber是一种支持BDD(behavior driven development行为驱动开发)的自动化测试框架,主用于编写测试用例。本身用Ruby编写的,核心是语言解释器Gherkin,并且支持多种测试步骤实现语言,比如Java和.net,支持多种框架,如jenkins,junit.
补充:BDD
(1)BDD是一种敏捷软件开发的技术,它鼓励软件项目中的各个参与者之间的协作,包括非技术人员
(2)TDD与BDD区别:
TDD是测试驱动开发,关注设计,如单元测试
BDD着重关注需求及客户的业务价值,所描述的需求用例可独立于软件系统存在的,不取决于是否有软件系统来支撑
(3)BDD好处
关注用户行为;交付最有用的功能;在团队内部维护一致的术语 ;消除协作与沟通障碍;探究需求实例 ;编写和维护需求;形成活的文档
(3)User Story: 在敏捷开发过程中是通过用户故事来将需求具体化为一个个现实的可见的开发任务
(4)Scenario: BDD 用一系列场景来定义验证标准
(5)常见BDD框架: Ruby / JAVA – RSpec, Shoulda, Cucumber
--cucumber的测试用例一般由测试场景和测试步骤组成
--cucumber的测试场景一般由纯自然语言来进行描述,易懂
2.cucumber的三个组成部分
--Features(Gherkin语言) :基于Gherkin,功能文件必须由.feature命名,使用简单英语文本定义,包含Feature、Scenario及每个场景的step
--Step_definitions (Ruby语言):Step definition必须以:Given, When, Then, And等开头,每个步骤下编写相应测试代码
3.Gherkin functions
--Feature(功能) test suite(测试用例集)
--Scenario(情景) test case(测试用例)
--Given(给定) setup(创建测试所需环境)
--When(当) test(触发被测事件)
--Then(则) assert(满足条件后的输出,常用断言验证结果)
--But
--Scenario Outline 要和 Examples 一起使用,否则会报错(多个数据值执行同一个scenario时使用)
--Given, When, Then, But都可以在一个Scenario里出现一次或者不出现
--Given 后的And 等同于 Given, Then后的And 等同于Then
--Tag, 通过使用tag组织scenario的执行,如@test
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了