2012年12月28日金曜日

Spockで例外のテスト

年末ということで広島に来ているみけです。

Spockとは


まあ、ググってください。


例外のテストがうまくいかなんだ…


したがってSpockはJUnitで@RunWith (Theories.class)でやるようなテストを


非常に見やすい形で、かつ型安全に実行できるわけです。


そこで、例外のテストを今度は書いてみることにしました。



テストを実行すると…




落ちたよ(´・ω・`)

Spockは例外を扱うようなテスト書けないのか…残念無念orz


しかたがないので@RunWith (Theories.class)使ったよ…


というわけで、Spockを諦めてJUnitへ…

なんか、@RunWith (Theories.class)使うと、

@DataPointsでデータを指定できるのですが、

なんか配列を強制されてるっぽいので

個人的にはイケてない気がする…
(まあ、便利ですけど、それとも僕の書き方が悪いのか…)
(求むツッコミ!)




で、テスト実行、テストクリア!




ということで結論…




と、そこでいろふさん登場。



ふむ、thrown!そんなシンタックスがあるのか!

というわけで、Spockのページを読むと、確かにあった





Spockで例外のテスト


Spockのページを参考にテストを書きなおしてみると、

こんなんなった。





そこでテスト実行。




通った!通ったよー!


結論


出来上がったソースを見てみると、

境界値テストとかのデータパターンを書いてテストするのに

条件と期待値が一覧形式で読むことができるので、

Spockはかなりいいですね。


Spockのサンプルに載っているようなテスト





実は僕、これの何が嬉しいのかわからなかったんですよ。


だけど、@RunWith (Theories.class)を書いた後に、


Spockで書きなおしてみると、Spockのありがたさが非常によくわかります。


真の結論











ということなので、いろふさん早くSpockについてブログ書いて下さい。








0 件のコメント:

コメントを投稿