私が開発を担当するプロダクトでは、ユニットテストの実行に時間がかかるという課題がありました。 その原因と改善の鍵は、データアクセス抽象化レイヤーとしての Repository クラスのテスト戦略にありました。
Spring Boot + Hibernate、オニオンアーキテクチャーで構築されたアプリケーションにおける、データベースアクセスを伴うユニットテストの課題と改善手法について、実アプリケーション開発でのユニットテストに対するトレードオフの判断を交えて説明します。