Repolode
testcontainers

testcontainers/testcontainers-java

JUnitテストでデータベースやSeleniumブラウザーなどの使い捨てDockerコンテナを起動するJavaライブラリ。

スター
8,759
フォーク
1,950
未解決の Issue
638
最終コミット
4 日前

これは何?

Testcontainersを使うと、モックではなく実際のインフラを利用してJavaのテストを実行できます。テストの開始時に、データベース、SeleniumのWebブラウザー、コンテナで実行可能なその他のサービス用に軽量な使い捨てDockerコンテナを起動し、テスト終了後に破棄します。

JUnitと連携しており、コンテナのライフサイクルをテストクラスやテストメソッドに紐づけられます。また、一般的なデータベースやサービス向けのモジュールがあらかじめ用意されているほか、Dockerで実行できる任意のイメージにも同じ方法を適用できます。

このライブラリを利用するには、Dockerが動作する環境が必要です。ドキュメントはjava.testcontainers.orgで公開されています。

主な機能

  • 01テスト用の使い捨てDockerコンテナを起動し、終了後に破棄する。
  • 02JUnitのテストライフサイクルと連携する。
  • 03一般的なデータベースやSeleniumブラウザー向けのサポートを提供する。
  • 04Dockerコンテナで実行できる任意のサービスに対応する。

ユースケース

  • インメモリーの代替ではなく、実際のデータベースを使って統合テストを実行する。
  • コンテナ化された環境でSeleniumを使い、ブラウザー上のUIフローをテストする。
  • Javaサービスのテストスイートに必要なメッセージブローカーなどの依存サービスを起動する。

クイックスタート

  1. 1

    セットアップ手順についてはドキュメントをお読みください

使う前に知っておきたいこと

  • テストの実行には、Docker(または互換性のあるコンテナランタイム)が稼働している環境が必要です。

収録されている特集

トピック

よくある質問

testcontainers-java とは?
JUnitテストでデータベースやSeleniumブラウザーなどの使い捨てDockerコンテナを起動するJavaライブラリ。 Testcontainersを使うと、モックではなく実際のインフラを利用してJavaのテストを実行できます。テストの開始時に、データベース、SeleniumのWebブラウザー、コンテナで実行可能なその他のサービス用に軽量な使い捨てDockerコンテナを起動し、テスト終了後に破棄します。
testcontainers-java は無料で使えますか?ライセンスは?
testcontainers-java は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
testcontainers-java は今もメンテナンスされていますか?
活発にメンテナンス中。testcontainers-java の最終コミットは 2026年11月2日 です。
testcontainers-java は何に使えますか?
インメモリーの代替ではなく、実際のデータベースを使って統合テストを実行する。 コンテナ化された環境でSeleniumを使い、ブラウザー上のUIフローをテストする。 Javaサービスのテストスイートに必要なメッセージブローカーなどの依存サービスを起動する。
testcontainers-java のインストール方法は?
セットアップ手順についてはドキュメントをお読みください
testcontainers-java はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/testcontainers/testcontainers-java

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト