【发布时间】:2020-02-11 09:24:51
【问题描述】:
我为我的 DynamoDB CRUD 操作创建了一个 JUNIT 测试用例。我在下面的代码中使用了断言来处理意外的异常提供者。
@Test
void createItemsInTable() throws Exception {
Assertions.assertThrows(UnexpectedException.class, () -> {
ResponseEntity Res;
CatalogItems cat = new CatalogItems(3, "", "fghsdfh");
Res = Eservice.createItemInDynamoDbTable(cat);
System.out.println(Res.getStatusCodeValue());
CatalogItems cat2 = Eservice.findById("3");
assertEquals(Res.getStatusCodeValue(), 201);
assertEquals(cat2.getTitle(), cat.getTitle());
assertEquals(cat2.getAuthor(), cat.getAuthor());
assertEquals(cat2.getId(), cat.getId());
});
}
我应该如何在上面的 JUNIT 测试用例中指定多个异常,例如:UnexpectedException、ResourceNotFoundException 等...
【问题讨论】:
-
一段代码,即lambda表达式,只会抛出一个异常。因此,您应该指定在该特定情况下您期望的那个。也就是说,您的代码看起来好像根本不会出现异常,为什么要尝试断言其他内容?
-
嗨 Johan,感谢您的更新,我已经给出了更新 AWS dynamoDb 表中项目的完整代码。请检查我的代码并回答我的问题?
-
如有任何澄清,请发布您的 cmets。提前致谢
标签: spring-boot amazon-dynamodb junit5 spring-boot-test