日々常々

ふつうのプログラマがあたりまえにしたいこと。

JUnitのCategoryさんとGradleでの実行(1.6)

※Gradle1.6はまだリリースされてません。

MavenとJUnitのCategoryなエントリを書きつつ「Gradle対応してないんだよなー。自分でアノテーション漁るの書くかなー」とか思ったんですが……

GradleがCategoryに対応すると聞いて

教えて頂きまして、見にいったら書いてました。

test {
    useJUnit {
        includeCategories 'org.gradle.junit.CategoryA'
        excludeCategories 'org.gradle.junit.CategoryB'
    }
}

とてもシンプルでいいですね!

動くコード

Gradleはnightly buildとかを使ってください。今回は gradle-1.6-20130410220032 を使用しました。

include に Integer 、 exclude に String を突っ込んだので……

  • IntegerCategoryTest -> 対象
  • NoneCategoryTest -> include になってないので対象外
  • StringAndIntegerCategoryTest -> include だけど exclude でもあるので対象外
  • StringCategoryTest -> include になってないので対象外

ってことで IntegerCategoryTest だけ動きます。include を指定しない場合は NoneCategoryTest も動いてくれます。
Gradleからマーカークラスが見えるなら クラス名.name で完全修飾名が取れたりするからさらに楽。


時代はGradleですかねー!(正直なとこ、Category程度では影響無いと思いますが)