Spring Boot Spockを導入してみる

記事の内容

この記事ではSpring BootのプロジェクトにSpockでのテストを導入する方法について紹介します。

導入方法の紹介がメインなので、具体的なテスト方法(単体テストやモックの仕方など)は別の記事で紹介しています。

プロジェクトの作成方法については以下の記事を参考にしてください。

コード作成・実装

最終的なsrcフォルダー以下のファイル構造は以下のようになっています。

HelloController.javaの中身は以下のようになっておりプロジェクトを起動して、http://localhost:8080/helloにアクセスするとhello worldが表示されるようになっています。

HelloController.java

Spockを導入しこのAPIのテストをするとこまで紹介します。

まずは、build.gradleのdependenciesに以下のライブラリを追加します。

build.gradle

buidl.gradleのpluginsにgroovyを追加します。

build.gradle

デフォルトのままだと、src以下にtestというテスト用のファイルを置くフォルダがあると思いますが、testフォルダは削除し新しくgroovyという名前でフォルダを作ります。

その下に、javaのコードが置いてあるmain/javaと同じ名前でパッケージ構造を作ります。

今回の場合だとsrc/testがありその下にcom.example.spocktestsampleがあります。

そしてその下にSpockのテストコードとなるHelloControllerTest.groovyを作ります。

New ファイルを作るときにGroovy Classにするのを忘れないでください。

HelloControllerTest.groovyの中身は以下のようになっています。

HelloControllerTest.groovy

最初のテストメソッドではHelloControllerをモックとして立ち上げ、実際にテストコードから/helloにアクセスにレスポンスの中身がhello worldの文字列かを確認しています。

2つ目のメソッドではただ単に、HelloController内のgetHello()メソッドが呼ばれたときにそのレスポンスがhello worldの文字列かを確認しています。

テストを実行するにはintellijだとテストクラスを右クリックしてRunを選ぶことで実行します。

コマンドから行うには./gradlew clean testと打つことでできます。

コメント

  1. […] Spring Boot Spockを導入してみる記事の内容この記事ではSpring Bootのプロジェク… […]