java - 如何模拟DynamoDB批量保存?

标签 java unit-testing junit mockito amazon-dynamodb

我编写了存储项目列表的 dynamoDB 代码。

mapper.batchSave(trafficSensorReadings)

这将返回。

List<FailedBatch>

我想模拟mapper.batchSave,然后返回一个失败的作业。我怎样才能实现它?我正在使用mockito和Junit。

我写过这样的东西。但没啥用。

        when(dynamoDBMapper.batchSave(eq(List.class))).thenReturn(mock(List.class));

最佳答案

完整示例如下

@Test
public void test() {
    FailedBatch failedBatch = mock(FailedBatch.class);
    List<FailedBatch> failedBatchList = new ArrayList<>();
    failedBatchList.add(failedBatch);
    DynamoDBMapper dynamoDBMapperMock = mock(DynamoDBMapper.class);
    when(dynamoDBMapperMock.batchSave(any(List.class))).thenReturn(failedBatchList);

    tested.testedMethodCall();

    verify(dynamoDBMapperMock).batchSave(any(List.class));
}

关于java - 如何模拟DynamoDB批量保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38129616/

相关文章:

java - 当 MySubClass 扩展 MyClass 时,使用在 MyClass 中返回 MyClass 对象的方法

spring - 如何在 Spring JUnit 测试中禁用 Autowiring ?

java - JUnit 中的奇怪 NullPointerException

junit - 如何使用 junit 的 assertThat 检查列表是否仅包含某些不相关的类类型?

android - 连续的 Android Junit 测试不反射(reflect)底层数据库中的真实数据

java - 在Java中解密保存的加密用户名

java - BouncycaSTLe pgp 解密大小正确但全部空白

java - Spring Boot 将值从 Controller 更改为另一个

javascript - 如何对 jquery 插件中的私有(private)方法进行单元测试?

javascript - spy 无法跟踪 Mocha 和 Sinon 的异步功能测试