Spockとは
まあ、ググってください。
例外のテストがうまくいかなんだ…
したがってSpockはJUnitで
@RunWith (Theories.class)
でやるようなテストを非常に見やすい形で、かつ型安全に実行できるわけです。
そこで、例外のテストを今度は書いてみることにしました。
テストを実行すると…
落ちたよ(´・ω・`)
Spockは例外を扱うようなテスト書けないのか…残念無念orz
しかたがないので@RunWith (Theories.class)
使ったよ…
というわけで、Spockを諦めてJUnitへ…
なんか、
@RunWith (Theories.class)
使うと、@DataPoints
でデータを指定できるのですが、なんか配列を強制されてるっぽいので、
個人的にはイケてない気がする…
(まあ、便利ですけど、それとも僕の書き方が悪いのか…)
(求むツッコミ!)
で、テスト実行、テストクリア!
ということで結論…
昨晩と今日この時間まででわかったこと→あるメソッドで適切に例外が投げられたかというテストをするときにSpockが適用できないっぽいということ
— Shinya Mochidaさん (@mike_neck) 12月 28, 2012
と、そこでいろふさん登場。
@mike_neck thrownじゃできないんです?(よくわかってない
— いろふさん (@irof) 12月 28, 2012
ふむ、
thrown
!そんなシンタックスがあるのか!というわけで、Spockのページを読むと、確かにあった。
@irof だが断る when→thenでthrownですね。
— Shinya Mochidaさん (@mike_neck) 12月 28, 2012
Spockで例外のテスト
Spockのページを参考にテストを書きなおしてみると、
こんなんなった。
そこでテスト実行。
通った!通ったよー!
結論
出来上がったソースを見てみると、
境界値テストとかのデータパターンを書いてテストするのに
条件と期待値が一覧形式で読むことができるので、
Spockはかなりいいですね。
Spockのサンプルに載っているようなテスト
実は僕、これの何が嬉しいのかわからなかったんですよ。
だけど、
@RunWith (Theories.class)
を書いた後に、Spockで書きなおしてみると、Spockのありがたさが非常によくわかります。
真の結論
.@mike_neck さんにキーワードを与えるとブログが書かれる(可能性がある)
— いろふさん (@irof) 12月 28, 2012
@irof だが断る when→thenでthrownですね。
— Shinya Mochidaさん (@mike_neck) 12月 28, 2012
@mike_neck です。書かなかったら私が書きます(キリッ
— いろふさん (@irof) 12月 28, 2012
@irof いろふさんが書いたら書く
— Shinya Mochidaさん (@mike_neck) 12月 28, 2012
ということなので、いろふさん早くSpockについてブログ書いて下さい。
0 件のコメント:
コメントを投稿