またしてもIronRubyネタ。
テストコードは納品するわけじゃないし、そもそも自分以外は誰もテストコード書いてくれないので(泣)、まぁNUnitもいいんだけど、RSpecならきっともっと楽ちんに違いないっていう流れ。
まずいい加減にこんな感じで配置してみた。
RSpecExample ├─spec │ └─sample_spec.rb └─src ├─RSpecExample │ ├─bin │ │ └─Debug │ ├─Properties │ │ └─AssemblyInfo.cs │ ├─RSpecExample.csproj │ └─Sample.cs └─RSpecExample.sln
主要なコードは下記。
いざテスト!
$ ir.exe -S spec -fs spec/sample_spec.rb RSpecExample::Sample with args 'hoge', 'fuga' and 'piyo' - should have 3 Words - should == "hoge-fuga-piyo" - should == "hfp" RSpecExample::Sample with args 'hoge', 'fuga' and 'piyo' Greet - should == "Hello hoge,fuga,piyo" Finished in 0.453125 seconds 4 examples, 0 failures
おぉスゲー!けどやっぱ基本のマッチャがRuby向けなのでどうしても表現力が劣ってしまう…。端折るなよって話だけど、カスタムマッチャを作ればなんとかなるのかなぁ?でもそれを差し引いてもRSpecでやるってのはステキかもしれない。