我正在使用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
的讨论但是我无法弄清楚如何设置每个环境的值。有模板还是最佳实践?
答案 0 :(得分:0)
我发布了适用于我们的解决方案。我不确定这在所有用例中是否都是有用的答案,或者我的问题适用于许多用户。 我们的测试和方式部署设置,结果很简单。我没有马上意识到这一点:|。
我有一项服务,它可以设置,构建,测试,它独立于我的所有服务和部署环境。
该服务在docker容器中运行这些测试。 测试使用AWS代码管道作为验收测试运行,并且每个环境都有一个Docker配置。 因此,我们可以在每个配置中将正确的“SNS_TOPIC”设置为环境变量。