FitnesseとRubySlimを使ってでエンドツーエンドを書いてみました。

なんどもおんなじネタで恐縮だけれども、FitNesseとRubySlimを利用して、エンドツーエンドを実装してみました。

この記事は、以下の記事の延長になります。

FitNesse テストケースの用意

まずは、テストケースのページの作成です。

これは、前回の記事のまんま。

!contents -R2 -g -p -f -h

!define TEST_SYSTEM {slim}
!define TEST_RUNNER {/home/tsu-nera/src/ruby_fitnesse/rubyslim/bin/rubyslim}
!define COMMAND_PATTERN {ruby -I %p %m}
!define PATH_SEPARATOR { -I }
!path /home/tsu-nera/src/ruby_fitnesse/tests

こんな感じで、Decision Tableを作成しました。

|make directory                     |
|command       |expect  |get result?|
|mkdir testdir |testdir |0          |
|mkdir testdir2|testdir2|0          |
|mkdir testdir3|testdir4|0          |

Custom Fixturesの用意

ここからが本題。RubyでCustomFixtureを作成します。

/home/tsu-nera/src/ruby_fitnesse/testsに Test Fixtures作成。

なかなかウマクイカなかったので、こんな実験用コードも書いた。

require "./make_directory"
include Fixtures

@foo = MakeDirectory.new
@foo.set_command("mkdir testdir")
@foo.set_expect("/testdir/")
@foo.get_result
@foo = nil

これで、準備完了!Webからテストを実行します。

テスト結果のログは、‘Output Capture’というところをクリックすると見れる。障害調査も完璧。