概要
cucumberの進化系、turnip。キュウリの次はカブ
詳細
turnipはcucumberをより使いやすくするための工夫がなされています
インストール
gem install turnip
サンプル
プレースホルダーからの値の取得が正規表現から
:XXXX というテンプレート方式になっています。
構成
│ .rspec │ ├─lib │ monster.rb │ └─spec │ spec_helper.rb │ ├─features │ attack_monster.feature │ └─steps monster_steps.rb
.rspec
-r turnip/rspec
monster.rb
class Monster attr_accessor:name def initialize(name) @name = name end def attacked @die = true end def die? @die end end
spec_helper.rb
require 'rubygems' require 'bundler/setup' Dir.glob("spec/steps/**/*steps.rb") { |f| load f, true }
attack_monster.feature
# spec/features/attack_monster.feature Feature: Attacking a monster Background: Given there is a monster called "hoge" Scenario: attack the monster When I attack it Then it should die
monster_steps.rb
# encoding: utf-8 require 'monster' step "there is a monster called :name" do |name| @monster = Monster.new(name) end step "I attack it" do @monster.attacked end step "it should die" do expect(@monster.die?).to eq(true) end
出力
$rspec ./spec/features/attack_monster.feature . Finished in 0.004 seconds 1 example, 0 failures