Concordion

http://www.concordion.org/

受入テスト用フレームワークなんだそうな。Acceptance Test-Driven Development(ATDD)って言ってるけど,BDDみたいなもんかね。具体的には,HTMLに仕様を記述して,仕様書と対になるフィクスチャ(Fixture)を作ると,動く仕様書ができあがるというシロモノ。FixtureはJava以外にも .NET/Python/Rubyがあるんだと。


サイトのドキュメントがよく出来ているので,使い方などなどはそっち直接読んだ方が早い。特にFAQは必読ね。
代わりに日本語ネタでちょっと試した事を残すよ。まず,仕様書となるHTMLはシフトJISでも記述できた。ただし,その場合はXMLプロローグにエンコードを明記しとかないとダメ。UTF-8だったらXMLプロローグは省略できたよ。

<?xml version="1.0" encoding="Shift_JIS"?>


仕様書側の式には日本語使わない方がいいみたい。なので,Fixture側のメソッド名も日本語を使っちゃダメだ。別にFixtureが外に露呈することはないので,機械的に名前振っても問題はないだろう。
あと,XMLネームスペースが "concordion"っていくら何でも長すぎる。"c"とかで十分じゃ。


正直「面白いけど,実用には向かないな」と思うけど,そうバッサリ見捨てられない何かがあるよ。仕様書を記述するHTMLがあまりにもPlainすぎるとか難癖つけたらキリないが「動く仕様書」って魅力的な響きがあるね。特に,Concordion自らがそれでテストされており,まんま リファレンスマニュアルになっているのがとても面白い。
当然 Concordionだけですべてが解決するわけじゃないし,仕様の記述レベルの調整とか悩みも多そう(「手順じゃなくて仕様を書け」ってドキっとしたよっ)。それにAcceptance Testとか言ったって,開発者が書くんだろし(おっと,それは別の話だ)。
要は,パっと見読みやすいレポートができるのに舞い上がっているだけなのだが,ちょっと気にしておく。JavaのBDDまわりは,まだどれも決定打にかけるからねぇ。引き出しが多いに越したことはない。:-)


ps.
Acceptance Test-Driven Developmentつながりで,こんなスライドはけーん。元はFitnessチームの発案なんか。
ATDD - Acceptance Test Driven Development (via http://www.willamaze.eu/?p=679)