You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CDK Java中S3存储桶生命周期配置单元测试失败排查

解决AWS CDK Java S3桶生命周期规则单元测试匹配失败问题

你的测试代码错误地将LifecycleConfiguration定义为数组类型,但实际上CDK生成的CloudFormation模板中,LifecycleConfiguration是一个对象,其内部的Rules字段才是数组。

修正后的测试代码

template.hasResourceProperties("AWS::S3::Bucket",
        Match.objectLike(Map.of(
            "LifecycleConfiguration", Map.of(
                "Rules", Collections.singletonList(
                    Map.of(
                        "ExpirationInDays", 7,
                        "Status", "Enabled"
                    )
                )
            )
        ))
    );

关键修正点

  • 移除包裹LifecycleConfiguration的Collections.singletonList(),因为模板里该字段是对象而非数组
  • 将Rules定义为包含单条规则的列表(Collections.singletonList),匹配CDK生成的数组结构
  • 调整ExpirationInDays为数字类型7而非字符串"7",CDK生成的模板中该字段是数字类型

修正后,测试会完全匹配模板中LifecycleConfiguration对象下的Rules数组结构,即可通过测试。

内容的提问来源于stack exchange,提问作者mibrahim.iti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 14:02:06