简介
cucumber是采用Gherkin语法,使用文本描述语言来执行测试用例的工具。其中,Gherkin是用于描述软件的行为而不需要了解具体的实现。支持的语言超过60种语言,包括中文;文件以.feature做为后缀。
Feature文件
feature文件都是用于描述功能。若使用的是描述语言是中文,那么在文件起始位置需要声明:
#language: zh-CN
每个功能下面拥有许多的场景(scenario),每个场景有包含许多的步骤,其中步骤使用假设(Given)、当(when)、然后/那么(then)、和(and)这些关键字。从关键字中可以看出,Given是准备数据,when之后是有动作(操作),then表示判断和结果。
# 花钱.feature
假设 我有很多钱,种类如下:
| id | type |amount|
| 1 | 人民币 |1000000|
| 2 | 美元 |9999|
当 我全部花了
那么 我会没钱了
注:and可以在一个步骤中代替多个起始动作(Given,Then)
step_definitions文件夹
在这个文件夹中编写了步骤定义的文件,如(money_step.rb)
Given(/^我有很多钱,种类如下:$/) do |table|
table.hashes.each do |row|
puts row[:type]
end
end
When(/^我全部花了$/) do
puts "花了"
end
When(/^我会没钱了$/) do
puts "没了"
end
运行之后的结果如图:
![)3UT9PQS95%M]BI5C7PUDVO.jpg](http://upload-images.jianshu.io/upload_images/2283607-c788294c89cb6fed.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
以上简单描述了cucumber的基本使用,这里:cucumber wiki有更全面的说明。