在AWS CDK中,我可以编写一个Jest单元测试来测试一个资源是否有一个特定的属性。但是我如何测试一个不是属性的资源DeletionPolicy值呢?
json(简化版)
"AppsUserPool8FD9D0C0": {
"Type": "AWS::Cognito::UserPool",
"Properties": {
"UserPoolName": "test",
...
},
"UpdateReplacePolicy": "Retain",
"DeletionPolicy": "Retain",
"Metadata": {}
}
属性的Jest单元测试通过(简化)
expect(stack).toHaveResourceLike('AWS::Cognito::UserPool', {
"UserPoolName": "test"
});
DeletionPolicy的Jest单元测试失败(简化)
expect(stack).toHaveResourceLike('AWS::Cognito::UserPool', {
"DeletionPolicy": "Retain"
});
3条答案
按热度按时间tv6aics11#
您可以使用以下示例https://github.com/aws/aws-cdk/blob/775a0c930a680f8a52bb4a40084d07492f7f9fee/packages/%40aws-cdk/aws-cloudformation/test/test.resource.ts#L57
您可以将haveResouce()与参数
ResourcePart.CompleteDefinition
一起使用示例的片段
gajydyqb2#
这里是一个更新的片段确认工作的CDK版本:1.107.0
dddzy1tm3#
更新了CDK 2.x的代码段