hibernateのログレベルを変更する設定ファイルを作成します。

src/test/resources/application.yml

logging:
    level:
        org:
            hibernate:
                SQL: DEBUG
                type:
                    descriptor:
                        sql:
                            BasicBinder: TRACE

テストを実行すれば、その他のログと一緒にSQLが出力されます。

Screenshot from 2016-11-14 11-10-12.png


2016/11/17追記

設定ファイルを作成しなくても、テストクラスのアノテーションを変更するだけでいけました。

このようになっていたアノテーションを

MyTest.java

@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class MyTest {
    // テストコード
}

このように@DataJpaTestアノテーションに変えるだけでした。

MyTest.java

@RunWith(SpringRunner.class)
@DataJpaTest
public class MyTest {
    // テストコード
}

@DataJpaTestだけだと、バインディングされる値は出力されないので、それも見たいときは設定ファイルが必要です。

src/test/resources/application.yml

logging:
    level:
        org:
            hibernate:
                type:
                    descriptor:
                        sql:
                            BasicBinder: TRACE

環境

  • Spring Boot 1.4.2
  • Java 8