我有JUnit方法包含以下语句,并且我正在使用“何时”进行嘲笑

when(db.save(any(UserEntity.class)))

上面的save方法不返回任何内容,表示其无效。
您能告诉我如何处理上述声明中的void返回类型吗?

它应该像下面这样,但不确定。

when(db.save(any(UserEntity.class))).thenReturn(Void)

最佳答案

该模拟记录没有价值,因为在任何情况下该方法均返回void。所以总是如此。
对于void方法,您不想模拟行为,但是您可能想要验证是否使用正确的参数调用了该方法。
Mockito.verify()在这里可能会有所帮助。
为了给验证操作带来更多价值,您应该使用特定参数而不是any

UserEntity userEntity = ...;
verify(db).save(userEntity);

10-04 20:17