![](/img/trans.png)
[英]How to test method which uses other method - Mockito, java, junit
[英]How to test a method call in other method in Java Mockito?
如何用 Mockito 测试在其他方法中调用了某些方法? 在我的例子中,它是 Collections.reverse(tasks) 在下面的 class 中:
我的class:
public class TaskReadService {
private final TaskRepository repository;
public TaskReadService(TaskRepository repository) {
this.repository = repository;
}
public List<Task> readAllOrdered(TasksListOrder order) {
var tasks = repository.readAll();
if (order.equals(TasksListOrder.BY_STATUS)) {
tasks.sort(Comparator.comparing(jpaEntity -> jpaEntity.status));
}
if (order.equals(TasksListOrder.BY_PRIORITY)) {
tasks.sort(Comparator.comparing(jpaEntity -> jpaEntity.priority));
}
Collections.reverse(tasks);
return tasks;
}}
如评论中所述,您无需验证对Collections#reverse
的调用。 您的测试代码不应该关心这个,而是应该关注返回的结果,应该断言正确性(即正确的内容、顺序等)。
现在关于如何验证方法调用的问题,对 Mockito 文档的简单访问显示了Mockito#verify
方法的用法,这正是您进行方法验证所需要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.