【问题标题】:How to mock DynamodbContext BatchWrite for unit testing in net如何模拟 DynamodbContext BatchWrite 以在网络中进行单元测试
【发布时间】:2021-03-19 15:01:47
【问题描述】:

我有一个使用 DynamoDbContext 在 DynamoDb 表中添加项目的方法。

var batchWriteObj = context.CreateBatchWrite<myDynamoDBModel>
                                            (new DynamoDBOperationConfig { TableNamePrefix = "abc" });
                    batchWriteObj.AddPutItem(myDynamoDBModel);

我想在我的单元测试中测试这件作品。 由于 BatchWrite 没有任何构造函数,而且它的属性也不是虚拟的。我无法为它创建一个模拟。

有什么方法可以测试这段代码吗?也许通过嘲笑 BatchWrite?

【问题讨论】:

    标签: c# unit-testing amazon-dynamodb nunit


    【解决方案1】:

    您是否考虑过使用本地 DynamoDB 来运行测试?它还有一个额外的优势,即验证您的呼叫是否按照您的预期进行。不久前,我为它创建了一个帮助程序包 (https://www.nuget.org/packages/Wadsworth.DynamoDB.TestUtilities/)。它只是管理在 Docker 容器中启动本地 DynamoDB。您可以查看它的来源here,其中包含一个示例。

    【讨论】:

    • 围绕发电机方法编写自己的包装类,然后模拟该类帮助我解决了这个问题。
    猜你喜欢
    • 2013-11-18
    • 2015-04-08
    • 2013-03-25
    • 1970-01-01
    • 2019-06-12
    • 2018-04-04
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多