每個測試項目都會有 Scenario(場景)
還沒安裝好 Cucumber 請參考 BDD Cucumber 安裝 (Windows 環境)
建立測試目錄
$ mkdir calculator
$ cd calculator
初始化 cucumber 目錄結構
$ cucumber --init
執行測試 cucumber
$ cucumber
此時你會發現
0 scenarios
0 steps
0m0.000s
上述的輸出表示 cucumber 已經可以正常掃描到 features 的目錄
不過他還沒找到可以運行的 scenario(場景)
建立測試項目
$ cd features
$ vi adding.feature
# adding.feature
Feature: Adding
Scenario: Add two numbers
Given the input "<input>"
When the calculator is run
Then the output should be "<output>"
Example:
| input | output |
| 2+3 | 5 |
| 98+1 | 99 |
此文本結構就叫做 Gherkin(小黃瓜)
----
OS: 黃瓜(Cucumber)裡面的小黃瓜(Gherkin)\
----
定義步驟
執行 cucumber --init 會在 features 建立 step_definitions
(如果沒有, 請自行 mkdir)
$ cd step_definitions
$ vi calculator_steps.rb
# calculator_steps.rb
Given /^the input "([^"]*)"$/ do |input|
@input = input
end
When /^the calculator is run$/ do
@output = `ruby calc.rb #{@input}`
raise('Command failed!') unless $?.success?
end
Then /^the output should be "([^"]*)"$/ do |expect_output|
expect(@output).to eq(expect_output)
end
建立 calc.rb
建立運算呼叫的 ruby calc.rb
回到 calculator 目錄下
$ vi calc.rb
# calc.rb
print eval(ARGV[0])
執行測試 cucumber
$ cucumber
沒有留言:
張貼留言