1、ruby 开发工具 rubymine,网上cucumber + java比较多,ruby比较少,所以这些是记录和学习
2、安装好ruby,gem也就安装好了(gem 安装ruby需要的其他模块)
3、项目根目录,命令行输入cucumber --init,初始化cucumber目录,会生成一个文件夹features,和features>step_definitions,features>support
step_definitions文件夹创建我们的search_step.feature文件
Feature: web search
Scenario Outline: search building
Given /^ visit a website url <url>$/
When /^ search build named <building_name>$/
Then /^ the number <num> should be show in current page$/
Examples:
| url | building_name | num |
| "http://bj.jiwu.com/loupan/" | "西山金茂府" | 99 |
创建search_step.rb,实现step内容
Given('\/^ visit a website url {string}$\/') do |string|
puts "#{string}"
end
When('\/^ search build named {string}$\/') do |string|
puts "#{string}"
end
Then('\/^ the number {float} should be show in current page$\/') do |float|
puts "#{float}"
end
然后就可以运行了
根目录命令行
cucumber --init
第2个运行方法、很上面一样
require 'cucumber'
puts File.join(File.dirname(__FILE__ ), "/features/step_definitions/search_step.feature")
features = File.join(File.dirname(__FILE__ ), "/features/step_definitions/search_step.feature")
runtime = Cucumber::Runtime.new
Cucumber::Cli::Main.new([features]).execute!(runtime)
运行成功
D:\ruby_study2>cucumber --init
exist features
exist features/step_definitions
exist features/support
exist features/support/env.rb
Feature: web search
Scenario Outline: search building # features/step_definitions/search_step.feature:3
Given /^ visit a website url <url>$/ # features/step_definitions/search_step.feature:4
When /^ search build named <building_name>$/ # features/step_definitions/search_step.feature:5
Then /^ the number <num> should be show in current page$/ # features/step_definitions/search_step.feature:6
Examples:
| url | building_name | num |
http://bj.jiwu.com/loupan/
西山金茂府
99.0
| "http://bj.jiwu.com/loupan/" | "西山金茂府" | 99 |
1 scenario (1 passed)
3 steps (3 passed)
比较疑惑的是search_step.rb,和search_step.feature没有require引用,但是已经有了关联,第一个课学习结束