2017-09-25 5 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

을 바르. 템플릿 또는 모범 사례가 있습니까?

+0

'os.environ [ 'SNS_TOPIC']'을 어디에 어떻게 설정했는지 더 자세히 설명해 주실 수 있습니까? 시운전 도중 또는 다른 곳에서? –

답변

0

나는 우리를 위해 일하는 해결책을 게시하고있다. 이것이 모든 유스 케이스에서 유용한 답이 될지 모르거나 제 질문이 많은 사용자에게 적용되는 것인지 확신 할 수 없습니다. 우리의 테스트 & 배치가 설정되는 방식은 간단합니다. 나는 처음부터 그것을 이해하지 못했다 : |.

모든 서비스 및 배포 환경과 독립적 인 설정, 빌드 및 테스트를 수행하는 서비스가 있습니다.

서비스는 이러한 테스트를 고정 컨테이너에서 실행합니다. 테스트는 AWS 코드 파이프 라인을 사용하는 승인 테스트로 실행되며 각 환경에 대한 Docker 구성이 있습니다. 그래서 각 config의 환경 변수로 'SNS_TOPIC'을 올바르게 설정할 수 있습니다.