4.4. インメモリーデータベースでのテスト


本番環境で使用する予定のデータベースを使用します。コンテナー技術により、これは簡単に実現できます。JVM がサポートするデータベースを使用して、インテグレーションテストを実行することもできます。H2 データベースおよび Derby データベースは、一般的に組み込みモードで使用され、インテグレーションテストの実行に使用されます。

組み込みエンジンは JVM モードで適切に機能しますが、ネイティブ実行可能ファイルにコンパイルすることはできません。Quarkus は、データベースエンジン全体のネイティブ実行可能ファイルへの組み込みをサポートしません。

JVM またはネイティブ実行可能ファイル、もしくはその両方で統合テストを実行する場合は、統合テストの任意のクラスに @QuarkusTestResource(H2DatabaseTestResource.class) または @QuarkusTestResource(DerbyDatabaseTestResource.class) を追加できます。テストスイートは、テストの実行に必要な個別のプロセスとして組み込みデータベースを開始および停止できるようになりました。

@QuarkusTestResource(H2DatabaseTestResource.class) および @QuarkusTestResource(DerbyDatabaseTestResource.class) は、H2 および Derby の場合にそれぞれ、Maven コーディネート io.quarkus:quarkus-test-h2 および io.quarkus:quarkus-test-derby を持つアーティファクトによって提供されます。

以下の例は、H2 データベースでヘルパーを使用する方法を示しています。

package my.app.integrationtests.db;

import io.quarkus.test.common.QuarkusTestResource;
import io.quarkus.test.h2.H2DatabaseTestResource;

@QuarkusTestResource(H2DatabaseTestResource.class)
public class TestResources {
}
Copy to Clipboard Toggle word wrap

これにより、データベースが通常どおりに JVM で実行される間、アプリケーションがネイティブ実行可能ファイルにコンパイルされていても、アプリケーションをテストできます。

以下を使用して接続します。

quarkus.datasource.db-kind=h2
quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:test
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat