스택에는 SQS 구성이 없지만 예제 테스트를 검토하면 구성을 테스트하는 방법에 대한 어느 정도 통찰력을 얻을 수 있습니다. 자동 생성된 예제 테스트를 삭제하고 자체 테스트를 만들어 보겠습니다.
테스트 기능 설정
먼저 스택에서 CloudFormation 템플릿을 가져오는 재사용 가능한 함수를 만들어 보겠습니다.
DynamoDB 테이블 속성 테스트
스택의 DynamoDB 테이블에 올바른 속성이 있는지 확인하는 테스트를 추가하는 것부터 시작하겠습니다. 방법은 다음과 같습니다.
Lambda 함수 테스트
다음으로 스택이 올바른 수의 Lambda 함수를 생성하고 해당 런타임 버전을 확인하는지 확인하겠습니다.
테스트 실행
테스트를 실행하려면 터미널에서 pytest를 실행할 수 있습니다.
pytest
다음은 수신해야 하는 출력입니다.
================================================================================= test session starts =================================================================================platform darwin -- Python 3.12.4, pytest-8.1.1, pluggy-1.4.0rootdir: /Users/adrian/Developer/Projects/rss-lambda-ddb-socialshareplugins: typeguard-2.13.3collected 2 items tests/unit/test_rss_lambda_ddb_socialshare_stack.py .. [100%]================================================================================= 2 passed in 21.86s ==================================================================================
결론
시리즈 3부에서는 CDK 구성을 테스트하는 방법을 배웠습니다. 마지막 회에서는 Lambda 함수를 로컬에서 테스트하는 방법을 살펴보겠습니다.
자원
"CDK v2를 사용한 AWS 서버리스 배포 탐색"의 3부에 오신 것을 환영합니다. 먼저 2부 이후로 약간의 공백이 있었기 때문에 기다려 주셔서 감사하다는 말씀을 전하고 싶습니다. 직장에서 서버리스 프로젝트에 대해 공부하고 작업하는 데 푹 빠져 있었기 때문에 다시 정상 궤도에 오를 수 있게 되어 기쁩니다. 탐색을 계속하세요.
이전 게시물에서는 구성을 정의하고 이를 AWS에 배포했습니다. 오늘은 필수 실습인 테스트에 중점을 둘 것입니다. 적절한 테스트를 통해 배포가 예상대로 작동하고 잠재적인 문제를 방지할 수 있습니다.
테스트 시작하기
시작하려면 프로젝트의 종속성(스택의 기본 requirements.txt 파일)에 pytest를 추가해야 합니다.
pip install -r requirements.txt
프로젝트 내에서 test 디렉터리로 이동한 다음 unit로 이동하고 test_rss_lambda_ddb_socialshare_stack.py 파일을 엽니다. 자동 생성된 이 테스트 파일에는 예제 테스트가 포함되어 있습니다.
스택에는 SQS 구성이 없지만 예제 테스트를 검토하면 구성을 테스트하는 방법에 대한 어느 정도 통찰력을 얻을 수 있습니다. 자동 생성된 예제 테스트를 삭제하고 자체 테스트를 만들어 보겠습니다.
테스트 기능 설정
먼저 스택에서 CloudFormation 템플릿을 가져오는 재사용 가능한 함수를 만들어 보겠습니다.
DynamoDB 테이블 속성 테스트
스택의 DynamoDB 테이블에 올바른 속성이 있는지 확인하는 테스트를 추가하는 것부터 시작하겠습니다. 방법은 다음과 같습니다.
Lambda 함수 테스트
다음으로 스택이 올바른 수의 Lambda 함수를 생성하고 해당 런타임 버전을 확인하는지 확인하겠습니다.
테스트 실행
테스트를 실행하려면 터미널에서 pytest를 실행할 수 있습니다.
pytest
다음은 수신해야 하는 출력입니다.
================================================================================= test session starts ================================================================================= platform darwin -- Python 3.12.4, pytest-8.1.1, pluggy-1.4.0 rootdir: /Users/adrian/Developer/Projects/rss-lambda-ddb-socialshare plugins: typeguard-2.13.3 collected 2 items tests/unit/test_rss_lambda_ddb_socialshare_stack.py .. [100%] ================================================================================= 2 passed in 21.86s ==================================================================================
결론
시리즈 3부에서는 CDK 구성을 테스트하는 방법을 배웠습니다. 마지막 회에서는 Lambda 함수를 로컬에서 테스트하는 방법을 살펴보겠습니다.
자원
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3