如何为 AWS CDK python pytests 定义上下文
How to define context in for AWS CDK python pytests
目标
至 运行 AWS CDK Python 验证配置属性的单元测试
问题
虽然 pytest 正确创建了 cdk.App 对象,但由于某种原因它无法读取 cdk.json
。
条件
- 测试tests/cdk.json
- 测试tests/unit/cdk.json
- ./cdk.json
中的测试值
解决方法
在 pytest 文件中强制上下文 (ref)
例如:
TEST_VALUE = "10.1.0.0/20"
TEST_CONTEXT = {
"cidr": TEST_VALUE,
}
def test_config():
app = cdk.App(context=TEST_CONTEXT)
# app = cdk.App() # This fails to get values from cdk.json
stack = MyStack(app, "mycdk")
template = assertions.Template.from_stack(stack)
# Verify cdk.json values
template.has_resource_properties("AWS::EC2::VPC", {
"CidrBlock": TEST_CIDR
})
目标
至 运行 AWS CDK Python 验证配置属性的单元测试
问题
虽然 pytest 正确创建了 cdk.App 对象,但由于某种原因它无法读取 cdk.json
。
条件
- 测试tests/cdk.json
- 测试tests/unit/cdk.json
- ./cdk.json 中的测试值
解决方法
在 pytest 文件中强制上下文 (ref)
例如:
TEST_VALUE = "10.1.0.0/20"
TEST_CONTEXT = {
"cidr": TEST_VALUE,
}
def test_config():
app = cdk.App(context=TEST_CONTEXT)
# app = cdk.App() # This fails to get values from cdk.json
stack = MyStack(app, "mycdk")
template = assertions.Template.from_stack(stack)
# Verify cdk.json values
template.has_resource_properties("AWS::EC2::VPC", {
"CidrBlock": TEST_CIDR
})