pytest - 设置具有环境特定值的环境变量

时间:2017-09-25 16:42:40

标签: python python-3.x environment-variables pytest

我正在使用pytest为我在AWS中运行的python服务运行测试。

我正在尝试测试从SNS主题触发的服务。所以我的测试写到了SNS主题。主题ARN对于dev,staging,prod是不同的。

在测试中,我希望能够使用相同的环境变量访问主题ARN,并为每个环境选择正确的主题。

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

我有一项服务,它可以设置,构建,测试,它独立于我的所有服务和部署环境。

我参考了关于如何传递env vars How to pass environment variables to pytest

的讨论

但是我无法弄清楚如何设置每个环境的值。有模板还是最佳实践?

1 个答案:

答案 0 :(得分:0)

我发布了适用于我们的解决方案。我不确定这在所有用例中是否都是有用的答案,或者我的问题适用于许多用户。 我们的测试和方式部署设置,结果很简单。我没有马上意识到这一点:|。

  

我有一项服务,它可以设置,构建,测试,它独立于我的所有服务和部署环境。

该服务在docker容器中运行这些测试。 测试使用AWS代码管道作为验收测试运行,并且每个环境都有一个Docker配置。 因此,我们可以在每个配置中将正确的“SNS_TOPIC”设置为环境变量。