Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pytest-使用特定于环境的值设置环境变量_Python_Python 3.x_Environment Variables_Pytest - Fatal编程技术网

Python pytest-使用特定于环境的值设置环境变量

Python pytest-使用特定于环境的值设置环境变量,python,python-3.x,environment-variables,pytest,Python,Python 3.x,Environment Variables,Pytest,我正在使用pytest为在AWS中运行的python服务运行测试 我正在尝试测试一个从SNS主题触发的服务。所以我的测试写在SNS主题上。对于开发、登台、产品,主题ARN是不同的 在测试中,我希望能够使用相同的环境变量访问主题ARN,并为每个环境选择正确的主题 self.sns_topic_arn = os.environ['SNS_TOPIC'] 我有一个独立于我的所有服务和部署环境的服务,它可以进行设置、构建和测试 我指的是关于如何通过环境变量的讨论 但是,我不知道如何设置每个环境的值。是

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

我正在尝试测试一个从SNS主题触发的服务。所以我的测试写在SNS主题上。对于开发、登台、产品,主题ARN是不同的

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

self.sns_topic_arn = os.environ['SNS_TOPIC']
我有一个独立于我的所有服务和部署环境的服务,它可以进行设置、构建和测试

我指的是关于如何通过环境变量的讨论


但是,我不知道如何设置每个环境的值。是否有模板或最佳实践?

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

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

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

你能解释一下你在哪里以及如何设置os.environ['SNS_TOPIC']吗?在测试运行期间还是从其他任何地方?