Groovy Testingに関してもくもくしてきた件についての備忘録

Yokohama.groovyを開催していた流れもあって、GroovyやSpockのテストについても基本的な所から写経なりして理解を深めたいね〜という話をしていてYuki Sumida (TwitterID:@y_sumida)さんとこの日、横浜市内のルノアールにてもくもく写経をやる事にしました。(※言語・内容は異なりますが我々の他にもNao YAMAMOTO(TwitterID:@natsu_nanana)さん等も併せて来場し、もくもくしてました。


集まった場所は喫茶室ルノアール 横浜関内駅前店。ラストが23:00と十分時間も確保出来そうだし、場所の割にはそこまで混んで無かったので路線(関内駅京浜東北線(根岸線)、横浜市営地下鉄しかない)が特に問題無ければ、横浜タネマキに次いでここを何らかの開催会場として利用するのもありかもな〜、という感じですね。


取り組もうと予定していた情報はこちら。各種公式の情報となります。

Unit Testing

  • その他、Suite関連等もサンプルを写経しつつ実行して確認。
  • 全般的に、JUnit4に対してGroovy(で提供されているテスト関連機能)でテストを書く事の優位性って何だろう?となった。(記述が短くなる以外の利点とか)
    • Java - Spockであれば、Spockのメリットはわかる気はする。→Mockとか、今回対象範囲外の部分でメリットがあるのでは。
  • Groovy - Using JUnit 4 with Groovy
    • このエントリの冒頭文、

Groovy has excellent support for Testing with Unit Testing
(GroovyTestCase adds extra capabilities to TestCase from JUnit 3.8.2)
and Mocking capabilities built right in.

Currently, there are no special Groovy extensions for JUnit 4
but it's easy to use so long as you are using Groovy 1.5+ and Java 5+
(a requirement for annotations/Junit 4.x). Here are some examples.

Make sure you are using at least Groovy 1.5 (we used 1.5.6) and JUnit 4.x (we used 4.4).

これを見ると、JUnit4と比較して、さほど優位性はない?JUnit4をGroovyでも使えますよ、程度か。そんな印象を抱きました。


あとこれはGroovy全般に言えることだけど、如何様にでも簡単に書けてしまう→人によって記法が異なってしまう、そうなると可読性等の点から困る部分も出てくるかもね、何らかの規約やルールは決めておいた方が良いかも知れない、と言った以前のYokohama.groovyでも挙がっていたような考えがここでも浮上。

Groovy Mocks

そんでこの後時間の都合なども加味し、数あるテーマの中からMockについてちょっと踏み込んでみる事にしました。

実践・確認内容については、y_sumidaさんの下記ブログエントリをご覧ください。

この辺り、Mockに関しては実際の開発現場・シチュエーションを想定した中でJava各種ライブラリが何だかんだ言ってお作法的に色々用意しなきゃ行けない点と比較しても、このお手軽さは割と便利そうなのではないか、という感じがしました。


時間的にはこの辺りでタイムアップ。後にTDDBC横浜2nd等もあるので、Spockの写経実践等もしてみたかったのですが叶わず。TDDBC横浜2ndが終わったら別途Spockで書いてみるかな〜。


多くの公式情報があるなかで数点ピックアップしてのもくもく会となりましたが、Groovy Testingに関して幾つかポイントを把握する事が出来たので良かったのではと思います。時間を見つけてこの辺り(Groovy Testing)について、もっと深掘りして行ってJava及びGroovyのテスティングスキルを高めて行きたいものです。

(また、Groovy Testingとはこういうもんじゃ!というのがありましたら是非教えてくださいませ...m(_ _)m )