AWSCDKUnittestunabletoMockNetworkLoadBalancerResource
创始人
2024-09-24 03:00:49
0

AWS CDK Unittest不能模拟NetworkLoadBalancer资源,并且此问题会导致难以进行单元测试。为了解决这个问题,可以使用AWS CDK提供的CDKIntegrationTest工具和MockIntegrationTest构建一组集成测试来测试网络负载平衡器资源。以下是一个示例代码,该代码使用了CDKIntegrationTest和MockIntegrationTest:

import boto3
from aws_cdk import (
    core as cdk,
    aws_ec2 as ec2,
    aws_elasticloadbalancingv2 as elbv2,
    testing as cdk_testing
)

class MyStack(cdk.Stack):
    def __init__(self, scope: cdk.Construct, id: str, **kwargs) -> None:
        super().__init__(scope, id, **kwargs)

        vpc = ec2.Vpc(self, "MyVPC")

        alb = elbv2.NetworkLoadBalancer(
            self,
            "MyALB",
            vpc=vpc,
            internet_facing=False,
            load_balancer_name="MyLoadBalancer"
        )

        core.CfnOutput(self, "ALBARN", value=alb.load_balancer_arn)

class TestMyStack(unittest.TestCase):
    def test_stack(self):
        app = cdk.App()
        MyStack(app, "stack")

        # create a mock of the network load balancer
        mock_elbv2 = cdk_testing.MockAws(lambda: boto3.Session())
        mock_elbv2.add_mock("elbv2", "create_load_balancer", side_effect=Exception("cannot create network load balancer"))
        mock_elbv2.add_mock("elbv2", "delete_load_balancer", return_value={})

        # prepare the integration test
        integ_test = cdk_testing.CDKIntegrationTest(
            app,
            "test-stack",
            cloud_assembly_subdirectory="test-fixtures/test-stack.out"
        )
        # provide the mock to the integration test
        integ_test.set_aws(mock_elbv2.aws())

        # run the integration test and validate that the cloudformation stack was created successfully
        integ_test.synth()
        integ_test.deploy(expect_changes=True)

        stack = integ

相关内容

热门资讯

实测分享“智星德州插件怎么下载... 实测分享“智星德州插件怎么下载”开挂(透视)辅助下载(黑科技教程有挂分析)您好:这款游戏可以开挂,确...
开挂辅助!大唐撸麻雀辅助,we... 开挂辅助!大唐撸麻雀辅助,wepoker怎么发冤家牌(透视)开挂辅助下载(揭秘有挂);小薇(透视辅助...
开挂辅助软件"hhp... 开挂辅助软件"hhpoker为什么一直输"开挂(透视)辅助下载(有挂辅助) >>您好:软件加薇136...
分享个大家“hhpoker免费... 您好:这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌...
辅助开挂!多乐找刺激技巧辅助,... 辅助开挂!多乐找刺激技巧辅助,聚星ai辅助工具下载(透视)开挂辅助工具(了解有挂);最新版2026是...
开挂辅助插件"hhp... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
总算清楚“拱趴大菠萝万能挂图解... 总算清楚“拱趴大菠萝万能挂图解”开挂(透视)辅助安装(分享教程有挂教学) >>您好:软件加薇1367...
开挂辅助!微乐广西小程序脚本,... 开挂辅助!微乐广西小程序脚本,wejoker开挂(透视)开挂辅助安装(有挂教程);微乐广西小程序脚本...
开挂辅助插件"we ... 开挂辅助插件"we poker辅助器v3.3"开挂(透视)辅助下载(的确有挂) 了解更多开挂安装加(...
重大科普“wepoker私局辅... 重大科普“wepoker私局辅助”开挂(透视)辅助神器(2026新版教程!有挂总结)ai黑科技系统规...