Test

Test

ユニットテストで@ConfigurationPropertiesが有効になるようにしたい!

`@SpringBootTest` を使ってテスト書けば設定ファイルを読み込んでくれるので悩む必要はないんですけど、大人の事情でそういうことができない場合もありますよね。そうすると当然、設定ファイルを読み込んでくれないわけです。 今回、`@SpringBootTest` を使ってテストを書かなくても設定ファイルを読み込めるようなテストを書きました。

Read
Test

@DataJpaTestでRepositoryのテスト

Springのテスト部分のリファレンス読んで忘れないうちにまとめよう精神が働いたので書きます。今回は、@DataJpaTestというレポジトリのテストを書くためのアノテーションを紹介します。 @DataJpaTestアノテーションは、デフォルトでインメモリDBの設定をしたり、@EntityがついたクラスをBean登録したり、@RepositoryついたクラスをBean登録するなどSpring Data JPAレポジトリの設定してくれたりします。@DataJpaTestのソースコードをのぞいてみるとこんな感じの設定が行われているようです。

Read
Test

AssertJ 3.12.0リリースされたので新機能試してみた

AssertJ 3.12.0が2019/2/14にリリースされました。これに伴って[ユーザガイド](https://assertj.github.io/doc/)がリニューアルされました。 新機能いくつか試してみました。

Read
Test

TestContainers使ってみないか?

みなさんは、DBアクセスのテストはどう書いていますか?DBをモックにしていますか?実際にDBを用意してテストしていますか? 私は、だいたいH2を用いてテストを書いています。H2を使っているとDDL問題に直面してしまいます。本番ではMySQLやPostgresを使っていると思うので、テストの為にDDLを用意しないといけません。 わざわざ用意するのめんどくさいとか、これって本当にプロダクトコードのテストになっているのか?とかの疑問を持っていました。 そこで、知り合ったのが今回紹介するTestContainersです。 TestContainersは、JUnitのテストをサポートするJavaのライブラリで、Dockerコンテナ上でDBやSelenium web browserなどを起動することができます。

Read