Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cucumber #TechLunch

Cucumber #TechLunch

2012/05/16(水) @ Livesense TechLunch
発表者:塩足 拓也

Livesense Inc.

April 23, 2014
Tweet

More Decks by Livesense Inc.

Other Decks in Technology

Transcript

  1. RSpecとCucumber RSpec red 2 red red green refacto r 3

    1 4 5 green refacto r 6 7 Cucumber ① 1つのシナリオに焦点を合わせる ② 失敗するステップ定義を書く (Cucumberで始める) ③ 失敗するサンプルを書く ④ サンプルを成功させる ⑤ リファクタリング (RSpecに進む) (ステップが成功したら) ⑦ リファクタリング 6
  2. Cucumberのファイル構成 ▪ フィーチャファイル(Gherkin) ◦ タイトル ◦ 自由形式のナラティブ ◦ 任意の数のシナリオ •

    任意の数のステップ ▪ ステップ定義ファイル(システム言語) ◦ Given(前提) ◦ When(もし) ◦ Then(ならば) ◦ And(かつ)
  3. フィーチャファイル # language: ja フィーチャ: 加算 バカな間違いを避けるために 数学オンチとして 2つの数の合計を知りたい シナリオ:

    2つの数の加算について 前提 "1" を入力 かつ "2" を入力 もし add を押した ならば "3" を表示 タイトル ナラティブ シナリオ ステップ
  4. ステップ定義ファイル # -*- coding: UTF-8 -*- Before do @calc =

    Calculator.new end 前提 "$n を入力" do |n| @calc.push n.to_i end もし /addを押した/ do @result = @calc.add end ならば /(.*) を表示/ do |result| @result.should == result.to_f end
  5. Cucumberの位置づけ RSpec red 2 red red green refacto r 3

    1 4 5 green refacto r 6 7 Cucumber ① 1つのシナリオに焦点を合わせる ② 失敗するステップ定義を書く (Cucumberで始める) ③ 失敗するサンプルを書く ④ サンプルを成功させる ⑤ リファクタリング (RSpecに進む) (ステップが成功したら) ⑦ リファクタリング 6