『JUnit実践入門』写経・実践会 in 横浜 #2 に参加しました

『JUnit実践入門』写経・実践会 in 横浜 #2 - connpass
junitbookyokohama / home / wiki / JunitBookInYokohama02-20130112 — Bitbucket
2013/01/12 『JUnit実践入門』写経・実践会 in 横浜 #2 #junitbook - Togetterまとめ

いつも Yokohama.groovy でお世話になっているタネマキさんを貸し切っての勉強会でした。
プロジェクター使えたり、フリードリンクだったり、いい感じですね。

写経

事前の写経が9章の途中までしかできませんでした。
1ヶ月あるし、年末年始あるし楽勝とか思っててごめんなさい。

プロダクトコード Java 、テストコー ド Groovy でやってみました。
でも、@irof さんのエントリにある「中途半端にGroovyにかぶれてると困るかもしれない」な感じがまだまだしますねー。
Datapoint の配列にしないといけないとこでまんまと引っかかったり…

範囲

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

今回の範囲は、4章 アサーションから 10章 カテゴリ化テストまで。
1章ずつ黙読してディスカッションする形式で進めました。

ディスカッションで気になったネタ

  • スティングフレームワークのバージョン移行
    • JUnit3 から JUnit4 とか
    • うまくやらないとテストコードがレガシー化するのかな?
    • でも古いバージョンだからダメって訳じゃないよなー
    • Jenkins や Twitter4J は JUnit3 らしい
  • カスタム matcher やカスタム Rule
    • 当然、それ自体のテストも必要
    • 現場で適用するなら、個人じゃなくてプロジェクトとかで統一的に作るのが現実的?
  • assume
    • 使いどころが難しい
    • 間違ってフィルタリングされてても気づきにくいかも
  • パラメタライズドテスト
    • ここは spock の便利さを推したいです
  • 大量のテストケースをベタで書くのがめんどくさい
    • 外部リソース使うとか
      • ベタで書くのは変わらない?
    • クラスやメソッドのテストでケースがあまりに大量なのは設計がまずいサインである可能性も

もくもくタイム

一通りディスカッションが落ち着いたところで、残りはもくもくタイムとなりました。
写経したやつを Spock に書き換えたり、他の人のリポジトリ覗いたりしてました。
Enclose を書き換えようとして inner class を作れませんでしたが、spock のバージョン上げたらできるみたいですね。

あとは、隣でペアプロしてた @skowata さんと @ryu22e さんから Mercurial の質問受けたり。

ちなみに、@shinyaa31 さんはジョジョ読んでましたけどねw

その他

IntelliJ IDEA に ideavim を入れて使っているのですが、どうも cw (単語の書き換え) コマンドの動きがおかしいので Twitter でつぶやいてみました。

すると…

作者さんからリプライ来ちゃいました。日本語でつぶやいてんのに恐るべし…

いくつかバグレポートあがってるから確認しろよ、なかったらレポートあげろってことだったので見てみたら既にありました。
そのうち解消されるといーな。