2017-04-10 10 views
1

私はFalconとGunicornでPythonを使用して小さなREST APIを作成し始めました。いくつかの統合テストを書いてみたいと思います。適切なテスト環境を設定する方法がわからない(別のデータベースに切り替えるなど)。良いアドバイスやチュートリアルがありますか?Falconでテスト環境を設定するには

私の現在のアイデアは、おそらくミドルウェアを導入し、ヘッダーを提供することです。ヘッダーが設定されている場合は、テスト設定に切り替えることができます。

答えて

3

間違いなく、統合テスト専用のミドルウェアを追加しないでください。何をすべきかは、使用するサーバー用のいくつかの構成ファイルを設定することです。 Dev、Test、Prodはまともな設定です。各ファイルは異なるデータベースを指し、サーバー用に異なるポートを持つことができます。 DevとTestサーバーをパソコンで同時に稼働させても問題は起こりません。 Pythonにはconfigモジュールが組み込まれています。シェルで環境変数を設定して、使用するサーバーがどの構成ファイルを使用するかを知ることができます。例えば。 bashでFALCON_ENV='DEV'そして、Pythonでosモジュールを使用して、環境変数-os.environ['FALCON_ENV']を取得することができます。希望があれば、もっと質問してもよろしいですか?あなたは、仮想テスト環境を使用し、鷹のコアが提供するヘルパーをテストしてみたい場合があります

+0

はその答えをあなたに感謝します。間違いなく堅実なアプローチのように聞こえる。しかし、私はすでに巨大なドッカースタックを実行しており、スタックをできるだけ小さく保つことを望みます。しかし、サーバーごとの構成がおそらくベストプラクティスです – Sebastian

+0

私はあなたの痛みを感じます。私の現在のドッカー設定では、コンテナの設定を切り替えるためのいくつかのドッカー作成オーバーライドファイルがあります。だから、開発者ではなくテストをビルドするドッカーの作成オーバーライドスクリプトを使うことができます。 '' docker-compose down''' && '' 'docker-compose up -fdocker-compose.test.yml''' –

+0

さらに、ドッカーのコンテナは通常かなり軽量ですので、いくつかの新しいコンテナを回転させないようにする前に、メモリ使用量を減らしてください。 –

0
+0

これは私が推測する単体テスト用です – Sebastian

+0

はい。さて、鷹がガンコーンで遊んでいる様子を具体的にテストしたいのですか? – joarleymoraes

+0

いいえ、私は現在実装している他のサービスと一緒にファルコン環境をテストしたいと思います。 APIは、より大きな画像の一部を提供しているだけです – Sebastian

関連する問題