パンくずリスト
書籍 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