如何为 AWS CDK python pytests 定义上下文

How to define context in for AWS CDK python pytests

目标

至 运行 AWS CDK Python 验证配置属性的单元测试

问题

虽然 pytest 正确创建了 cdk.App 对象,但由于某种原因它无法读取 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
    })