概要
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