パンくずリスト
書籍 RSpec Book
Hello Cucumber
概要
Hello Cucumber
内容
CucumberでHello Worldします。
・対象プロジェクト用のルートフォルダを作成する。仮にhoge。
・hoge配下にfeatures,specの2フォルダを作成する。
・任意の名前で*.featuresファイルを作成する。
日本語で記載する場合はファイルの先頭に以下を記載します
# language: ja
※編集内容は後述
・featuresフォルダ配下にstep_definitionsフォルダを作成する
・step_definitionsフォルダ配下に*_steps.rbファイルを作成する。
※編集内容は後述
・テストを実行=>失敗
・テストをパスするコードを作成する
・テストを実行=>成功
テストコード
hoge_says_hello.feature
# language: ja 機能: ほげは「Hello Hoge!」と言う ほげは「Hello Hoge!」と言います シナリオ: ほげは「Hello Hoge!」と言う 前提 ほげの初期化 もし ほげに挨拶した場合 ならば 「Hello Hoge!」と言うこと
hoge_says_hello_steps.rb
# encoding: utf-8 # 便宜上実コードをここに配置指定ますが実際は違います class HelloHoge def hello_hoge "Hello Hoge!" end end Given(/^ほげの初期化$/) do @hoge = HelloHoge.new end When(/^ほげに挨拶した場合$/) do @message = @hoge.hello_hoge end Then(/^「(.*)」と言うこと$/) do |expected| @message.should == expected end
テスト結果
$cucumber features
# language: ja
機能: ほげは「Hello Hoge!」と言う
ほげは「Hello Hoge!」と言います
シナリオ: ほげは「Hello Hoge!」と言う # features\hoge_says_hello.feature:6
前提ほげの初期化 # features/step_definitions/hoge_says_hello_steps.rb:9
もしほげに挨拶した場合 # features/step_definitions/hoge_says_hello_steps.rb:13
ならば「Hello Hoge!」と言うこと # features/step_definitions/hoge_says_hello_steps.rb:17
1 scenario (1 passed)
3 steps (3 passed)
0m0.005s
参考
日本語によるフィーチャー記載方法について
| キーワード英名 | キーワード和名 |
|---|---|
| feature | "フィーチャ","機能" |
| background | "背景" |
| scenario | "シナリオ" |
| scenario_outline | "シナリオアウトライン","シナリオテンプレート","テンプレ","シナリオテンプレ" |
| examples | "例","サンプル" |
| given | "*","前提" |
| when | "*","もし" |
| then | "*","ならば" |
| and | "*","かつ" |
| but | "*","しかし","但し","ただし" |
| given(code) | "前提" |
| when(code) | "もし" |
| then(code) | "ならば" |
| and(code) | "かつ" |
| but(code) | "しかし","但し","ただし" |
上記は、以下コマンドの実行結果を整形したものです。
$cucumber --i18n ja