需要背景チームには統合テストが必要であり、そのためには、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() の高度な使用例の詳細な説明
目次序文1. スタイルの浸透1. パターン浸透とは何ですか? 2. 使い方は? 2. ミキシング1....
色はウェブサイト訪問者に影響を与えますか?数年前までは、ウェブサイトはまだ贅沢品でしたが、今ではほと...
環境の準備操作を開始する前に、hadoop バージョンがインストールされていることを確認してください...
目次序文1. コードによって設定されたデータベース名またはパスワードがローカルデータベースと一致して...
目次序文キーの役割差分アルゴリズムにおけるキーの役割ヘッドノードを同期するテールノードを同期する新し...
前回の記事では、nginx がリクエスト ラインのデータを読み取って、リクエスト ラインを解析する方...
適切な VS Code 拡張機能を Visual Studio に追加すると、開発者としての作業がは...
1. ビデオタグFirefoxでは自動再生をサポートしますが、GoogleとIEではサポートしません...
効果画像: 序文:最近、屋外の大画面プロジェクトに取り組んでいました。システムの入力方法は使いにくか...
説明する: Tabs コンポーネントが切り替わると、TabPane に含まれる同じサブコンポーネント...
目次序文フロントエンド構造バックエンド構造(ノード+エクスプレス) FormDataに基づくファイル...
MySQL 双方向バックアップはマスター-マスター バックアップとも呼ばれ、両方の MySQL サー...
Ethereum 上で DApps を開発したことがある場合は、フロントエンド JavaScript...
目次複数の種類のフィルタリングをサポート複数の範囲のクエリを避ける並べ替えを最適化するインデックスの...
イメージをプルします: [mall@VM_0_7_centos ~]$ sudo docker pu...