よせばいいのにBDDにも手を出してみる
「スはスベックのス」を読みかじったくらいで,BDDに手を出すとは,どんなミーハーだ?
RubyにあるならJavaにもあるだろうと調べたところ,この2つが見つかったよ.
JDave/JBehave
ちらっと使った限りでは,JDaveのほうが完成度が高そう(というか,JBehaveはドキュメントが少な過ぎで,使うところまでたどり着けなかった).テストコード(仕様)の記述性...というかexpectationsの可読性は,良さげなんだけど,JUnitに取って代われるかつうと,まあムリだろなって感じ.
#JUnit以上に大衆受けしないって意味で.
そんでも,JUnitにも転用できそうな技術はちらほら見つかったので,あたしの抽き出しのひとつにさせてもらう.:-P
続きを読むGroovyは無名クラスが定義できない
ってのを,JBehaveをGroovyで動かしてるときに知りましたよ.
→Java Integration: JavaScript, Groovy and JRuby
JUnit4とTestNG,ついでにgroovyでも試してみた
なんだかんだで,JUnit3の記述性の低さには辟易しているので,ちょっといろいろ試してみたよ(どうせヒマだし).えー,試してみたのはJUnit4とTestNG.どちらもJava言語の記述性を越える事はできないので,ついでにgroovyも加えてみたよ.
今んところは,以下の理由でJUnit4に軍配をあげよう.
- JUnit4(正しくはJUnit4.4)
- アノテーションとassertThatが秀逸.
- JUnit4.4にバンドルしてあるhamcrestはcoreのみだが,フルセットを準備すれば尚よさげ.
- なんだかんだで,unit testの王道だし.
- TestNG
- JUnit4が出た今となっては,時期を逸した感がある.
- assertThatが無いのは減点材料.
- フィクスチャの準備はJUnitより便利そうではある(ちゃんと評価してない).
- groovy
- JUnit4 with Groovyを実現するには,groovy 1.1系じゃないとダメ.
- 1.0系でも使えるGroovyTestCaseはJUnit3並なので,まだJUnit4 with Javaのほうがマシ.