きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

gradleのTestFilterのパターンの書き方がイマイチだ

gradleのTestタスクにfilterが書ける。


このfilterに書くときのパターンの指定の解釈がうざい。
gradle/TestSelectionMatcher.java at master · gradle/gradle · GitHub


指定したパターン文字列を、アスタリスクでスプリットして、
それぞれの頭に".*"を付けてからパターンコンパイルしているように見える。
アスタリスク以外は、Pattern.quote(String)で、全部リテラルにしている。
ピリオドもリテラルになるじゃないか。
test01、test02メソッドの二つだけをヒットさせたときに、
正規表現で[1-2]みたいなのを書きたいけど解釈してくれないよね。
我慢してピリオドにしたとしてもリテラルに解釈されたら無理だよね。


二回書けということなのかよ。

test << {
  filter {
    includeTestsMatching '*test01'
    includeTestsMatching '*test02'
  }
}

どうせPattern.compileするのに、なんで正規表現を受け付けない。