Spock

Spockのテストコンパイルが遅いので、GradleでGroovyの増分コンパイルを有効化する

Spockでユニットテストを書いている、Gradleを使ったJavaプロジェクトがある。 Intellijでユニットテストを実行するとき、ソースコードに変更があると毎回ユニットテストのすべてのクラスがコンパイルされてしまい、実行までに2分前後のコンパイル待ちが発生…

Spock v1.3でPowerMockを使う

Spock + Mockitoでユニットテストを書いているときに、finalなクラスをモック化したくなったので、PowerMockを導入。 JUnit 4で使う時と同様、 @RunWith(PowerMockRunner) しただけでは実行時にエラーがでてしまったので、SpockでPowerMockを使う方法をメモ…

Intellij IDEAで生成するテストクラスの接尾語を変更する

Intellij IDEAで、Javaなどのクラスから Alt + Enter でテストクラスを生成できる。 ただ、テストフレームワークにSpockを使用する場合、慣例としてテストクラスの接尾語は Spec だが、デフォルトでは接尾語が Test になってしまう。 接尾語の変更ができない…

SpockのテストをグルーピングしGradleタスク化、指定されたタスクで条件判定して処理を切り分け

前回の続き。 アサインされたJavaプロジェクトではSpring Bootを使用しているが、ユニットテストではモックが使われていなかった。 @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) でWebサーバーを起動し、 TestRestTemplate でControllerク…

Spockのwhen/then/whereで成功と例外の両方をテストする

Javaのユニットテストを書くとき、普段は例外が発生するパターンのテストを例外ごとに書き、それとは別に正常終了するテストを書いて、パラメータと結果の組み合わせをfixtureで渡している。 新しくアサインされたJavaプロジェクトでテストを書こうとしたら…