みけです。
いきさつ
私のATND notifier には単語「JUnit」が登録されているので、
誰かがJUnitというキーワードのあるイベントが登録すると自動通知するようになっています。
というわけで、参加してきました。
JUnit強化キャンプ
内容
非常に内容が濃いので、何回かにわけて報告しようと思います。
個人的にはJUnitの応用編が大変勉強になりました。
そして、主催の @shuji_w6e さんが実は熟練したGroovyistであることもわかりました。
Groovy…エ
ざっくりしたGroovyの紹介でした。
POGOをJavaで使う際に便利なアノテーションで
コンストラクタやtoStringなども自動生成できることを教えてもらいました。
例えば、このようなアノテーションを付与したクラス
は、このようにコンパイルされます。
toStringやコンストラクターが自動で生成されるんですね。
AppengineTestCase
JUnitの応用編で教えてもらったRuleアノテーションの利用方法です。
Slim3にてテストクラスを作成する場合は、AppengineTestCaseクラスを継承して作成するのが一般的です。
そこで、下記のようなユーティリティクラスを作成します。
これは、単純にAppengineTestCaseクラスを真似したようなクラスです。
このユーティリティクラスにRuleアノテーションを付与して次のようにテストクラスを作成します。
すると、不思議なことにAppengineTestCaseを継承していなくてもテストクラスが作成できます。
これのお陰でBeforeアノテーションを付与したsetUpメソッドを別途作成することができ、super.setUp()を呼び出さなくても良くなります。
なお、ものにもよりますが、Ruleアノテーションを付与したExternalResourceのbeforeメソッドはBeforeアノテーションより前に実行されます。
明日、また内容についてブログを書きます。
それでは。
参考
junitにデフォルトであるExternalResourceクラス
statementメソッドでbefore()→evaluate()→after()の順番で実行されています。
このevaluate()にて@Before→@Test→@Afterが実行されていきます。
0 件のコメント:
コメントを投稿