2017-09-25 18 views
0

私はpytestを使用して、AWSで動作するPythonサービスのテストを実行しています。pytest - 環境固有の値を持つ環境変数を設定する

SNSトピックからトリガーするサービスをテストしようとしています。だから私のテストはSNSの話題に書いています。トピックARNは、dev、staging、prodとは異なります。

テストでは、同じ環境変数を使用してトピックARNにアクセスし、各環境に適切なトピックを選択することができます。

self.sns_topic_arn = os.environ['SNS_TOPIC'] 

私はすべてのサービスと展開環境から独立したセット、ビルド、テストを行うサービスを持っています。私は環境ごとに値を設定する方法を見つけ出すことができないのですが、私はENVを渡す方法については、この議論を参照してください

How to pass environment variables to pytest

をvarsの。テンプレートやベストプラクティスはありますか?

+0

'os.environ ['SNS_TOPIC']'をどこでどのように設定するかについてもっと説明できますか?試運転中またはどこからでも? –

答えて

0

私は私たちのために働く解決策を投稿しています。私はこれがすべてのユースケースで有用な答えとなるか、私の質問が多くのユーザーに当てはまるかどうかはわかりません。 私たちのテスト&の展開方法が簡単に分かりました。私はすぐにそれを把握してから始めませんでした:|。

私はすべてのサービスとデプロイメント環境から独立したセット、ビルド、テストを行うサービスを持っています。

サービスでは、これらのテストがドッキングコンテナで実行されます。 テストはAWSコードパイプラインを使用した受入テストとして実行され、各環境にDocker設定があります。 各設定の環境変数として正しいSNS_TOPICを設定することができます。

関連する問題