需要背景チームには統合テストが必要であり、そのためには、mysql や rabbitmq などのミドルウェアに依存する必要があります。すべての開発者は、開発したコードに対してテストを記述し、テストを実行する必要があります。 相互干渉を避けるために、R&D センター内にローカルに独自の依存環境を構築することもできます。これらの環境が簡単、高速、クリーンアップしやすいものになることを願っています。 Dockerを使用して環境を構築するDocker は上記の要求を十分に満たすことができます。
要約すると、Docker を使用するとプロジェクトの依存関係環境を迅速に構築できますが、ローカライズされた Docker 依存関係により、テスト中にコードが十分に純粋ではなくなり、各オペレーティング環境ではローカルの Docker のインストールが必要になります。 集中型Dockerサーバーによる統合テストの改善実際、Docker 自体はリモート接続モードを提供しており、これにより Docker を集中的にデプロイし、テスト コードを統合して、TCP 接続経由で Docker サーバーを使用して依存ミドルウェアをビルドおよびテストすることができます。 Docker Server リモートリンク設定この記事では、centos 7.6 を例に、リモートで接続できるように docker を構成する方法について説明します。 {"ホスト": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]} ファイル [サービス] 実行開始= 実行開始=/usr/bin/dockerd
テストコンテナフレームワークリモートDockerをデプロイした後、次のような問題が発生します。
幸いなことに、Testcontainers フレームワークは上記の問題をうまく解決するのに役立ちます。
Spring Boot と統合されたテストコンテナさらに、ゲーム会社 Playtika は、Testcontainers と Spring Boot を統合するテスト フレームワーク 環境変数の依存関係リモート Docker リンクに Testcontainers または playtika の testcontainers-spring-boot を使用する場合、Docker クライアントをローカルにインストールする必要はありません。ただし、コードがリモート Docker のアドレスを認識できるように、関連する環境変数を構成する必要があります。このアドレスを構成する方法はいくつかあります。
コマンドライン経由でDockerをリモートで使用および管理する上記のテスト コードでは、Docker クライアントのインストールは必要ありません。ただし、コマンドライン経由で docker を管理する必要がある場合は、リモート docker と通信するための docker クライアントをインストールできます。もちろん、上記のテストコンテナは一種のクライアントに相当します。 さまざまなオペレーティング システムでのクライアント プログラムのインストール方法については、https://gist.github.com/kekru/4e6d49b4290a4eebc7b597c07eaf61f2 を参照してください。 参考文献 https://www.testcontainers.org/ 統合テストにリモート Docker を使用する方法については、これで終わりです。Docker 統合テストの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Vue3 setup() の高度な使用例の詳細な説明
まず、メモリ解放の例を見てみましょう。 <スクリプト言語="JavaScript&q...
目次ユーザー管理新しいユーザーを作成するユーザー名の変更ユーザーのパスワードを設定するルートパスワー...
今日は IE8 ベータ 1 (以下、IE8 と略します) をチラ見しました。IE8 は素晴らしい体験...
概要この記事は、ゲームビジネスアーキテクチャに関連するコンテンツの紹介から始まります。ゲームビジネス...
具体的なコードは次のとおりです。 パッケージ epoint.mppdb_01.h3c; java.i...
JavaScriptは画像を表示したり非表示にしたりしますが、参考までに具体的な内容は次のとおりで...
目次1. マクロの観点からMySQLを分析する2. SQL ステートメントを実行するには、どの程度の...
<tr> <th width="12%">あああ<...
ElasticSearch クラスターは、クラスターを構築するための動態請求的方式と靜態配置文件をサ...
データベーステーブルA: テーブル task_desc_tab を作成します ( id INT(11...
目次ファーストルックインデックスインデックスの概念インデックスファイルの構成インデックスの役割SQL...
teeコマンドは主にstandout(標準出力ストリーム、通常はコマンド実行ウィンドウ)に出力し、同...
序文低速システム コールとは、決して戻らない可能性があり、プロセスを永久にブロックするシステム コー...
この記事では、VMware Workstation 14 Proのインストールとアクティベーションに...
この記事は、参考のためにMySQL 8.0.18のインストールと設定のグラフィックチュートリアルを記...