2015-12-23 1 views
6

私の製品用のユニットテスト環境をセットアップしたいと思います。私はmysqlとredisを使用するLuaのnginx上に構築されたWebアプリケーションを持っています。 私はドッカーには新しくても、ドッカーはこれには良いと思うと思います。私のアプリケーションは、centosサーバー(実動サーバー)上で動作します。ドッカーユニットテストセットアップ

mysql、redis、webappの別のコンテナを設定し、私のmac(私の開発マシンがMACです)やVMをテストするために、UTアプリケーション(Bustedフレームワークを使用するLuaの単体テスト)を書きます。 UTアプリケーションはドッカーコンテナnginxと通信し、nginxはコンテナmysqlとredisを使用します。これはいいですか?はいの場合、誰かが私にこのことを教えることができますか?多分良いリンクですか?いいえ、何が良い方法かもしれません。私はすでに流涙薬を使用しようとしましたが、それは私のUT症例にはないはずの時間がかかりました。

+0

@NicolBolasを編集していただきありがとうございます –

+0

ここでは用語を混在させていただきますようお願い申し上げます。ユニットテストは、コンポーネントを単独でチェックするために設計されたテストです。実行しようとしていることは、すべてがどのように連携しているかをチェックする統合テストです。 – Akira

+0

@Akira私は同意します。実際に私はユニットテストセットアップ(破棄されたフレームワークを使用して)と一緒に統合テストのための環境を設定しようとしています。私のアプリを徹底的にテストするのに役立ちます。 –

答えて

2

プロジェクトテンプレートの設定例については、phundament/appとそのテスト設定をご覧ください。

docker-composeを実行できるcustomized runnerのドッキングされたGitLabが使用されています。

注!ランナー自体は別のDockerホスト上で動作しています。

我々はdevelopmenttestingの調整で、スタック内のservicesを定義するdocker-compose.ymlを使用しています。

CI configurationは、隔離されたスタックの複数の同時テストを処理するように最適化されています。これは、カスタムCOMPOSE_PROJECT_NAMEを指定することによって行われます。

docker-composeとドッキングされたCIについての私たちのテストプロセスと有用な情報に関する詳細なドキュメントです。

最後に、Travis CIもしばらく以来、ドッカーをサポートしていますが、私は全くこのアプローチをテストしていません。