CDK Testing
Outlines best practices for testing AWS CDK applications. Testing is a critical aspect of CDK development to ensure that infrastructure is deployed correctly and behaves as expected. Following these guidelines will help create reliable, maintainable, and well-tested infrastructure code.
CDK
TypeScript
@cremich
Author
Submitted on April 25, 2025
# CDK Testing Rules ## General - Follow a test-driven development approach. - Keep tests simple and focused on one aspect of behavior - Use Jest as the testing framework - Use the AWS CDK assertions module for testing CDK constructs - Use the Arrange-Act-Assert pattern - Organize tests by construct or stack - Use descriptive test names that explain the expected behavior - Aim for high test coverage (at least 80%) - Focus on testing critical infrastructure components - Ensure all resource properties are tested ## Unit Tests - Use fine-grained assertions to test specific aspects of resources - Use `hasResourceProperties` for partial matching and `exactlyMatchTemplate` for exact matching - Use snapshot testing to detect unintended changes in CloudFormation templates - Update snapshots only when changes are intentional - Don't rely solely on snapshots; combine with fine-grained assertions ## Integration Tests - Use the `integ-tests-alpha` module for integration testing - Create separate integration test files with the `.integ.ts` suffix - Define integration tests as CDK applications - Test that resources are created successfully - Test interactions between resources - Clean up resources after tests complete