NUnitでBDD-継続的インテグレーション (-.-)

NAgiler2006-02-13


CCNETが異常検知した際にテストが原因であればNUnit Detailsのテストレポートを見ることになるのだが、ここでもBDD的な命名規則はその威力を発揮する。ビルドの異常を修復するのはプログラマだから、プログラマだけに何処が異常なのかが分かればよいというのはナンセンスだ。異常検知時には異常発生から修復までのコストをより低くする為に、チームのあらゆるメンバーにもっと分かりやすい情報を発信すべきである。

ここで問題だと感じるかもしれないのが結果の並び順だ。テストの実行結果は(NUnit.GUIでも同じことが言えるのだが)、クラス順、メソッド順に結果がソートされてしまう。意図した順番に並んで欲しいというのはあるのだけれど、僕自身はあまり問題だと感じていない。あるストーリーのどのコンテキストにおけるスペック(仕様)で問題があるのかを特定することのほうが、仕様を定義した順番どおりに結果が表示されることよりも重要だと思うからである。

ただ、CCNETのDashboardに付属のtests.xslではストーリーに割り当てた名前空間が表示されないのでBDD用のxslの必要性は感じている。Behavioursという名前空間を見つけたら、下位の名前空間をストーリーとして階層表示するようなものだ。時間を見つけて作成したいと思うのだが、「もうできちゃったよ」って方がいらっしゃれば是非ご一報頂きたい。