車輪の再発明万歳。
こんな感じ。(若干予定含む)
@Tests({ @Case({"str1", "str1"}), @Case(value = {"str2", "str2"}, name = "hoge"), @Case(value = {"str3", "str3"}, expected = Exception.class), @Case({"str4", "str4"}) }) public void parameterTestsCase(String actual, String expected) { assertThat(actual, is(expected)); }
- 同じアノテーションが複数書けない。
- だからラップする Tests のようなのが要る
- Java8から指定できるようになる Repeating Annotationをちょっと試してみた - tomoTakaの日記
- この場合も(使用側には見えないにせよ) @Tests のようなこんてなは要りそう。あと諸々。そのうち。
- パラメータ以外のものを使えるようにしたら value が登場する。
- valueしかない時は省略できるんだけど
ダサくてモチベがあがらないのでnameとかexpectedとか保留にしてる- でも省略できてる時の "({" とか "})" とかもダサい。
無駄にLambdaのメソッドリファレンスとか使ってるから、Java8でないとコンパイルできません。うへへ。
出来てから検索したら有ったよ?
junitparams - Parameterised tests that don't suck - Google Project Hosting
ええねん。ええねん……。