java - Junit5中如何检查嵌套对象是否相等

标签 java mockito junit5

当一个方法返回一个嵌套对象作为响应时,我们如何测试该方法? 我正在用 java 8 和 junit5 编写代码。 我有像下面这样的 POJO

Class Phone{
  int id;
  String name;
}
Class Address{
String street;
String city;
}
Class Person {
 List<Phone> phones;
 Address address;
 String name;
}

我有一个如下的方法

public Person getPerson(String name){
return persons.stream().filter(person -> person.getName().equals(name)).findAny().orElse(null);
}

这里,如何使用junit5测试这个方法?

最佳答案

我建议您使用assertEquals() JUnit 中的方法。请注意,正如您在 code 中看到的那样该方法中,它使用 .equals() 方法。

因此,为了使其正常工作,您应该重写您要测试/比较其对象的每个类中的 equals 方法。

关于java - Junit5中如何检查嵌套对象是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58374471/

相关文章:

java - 连接 Java 字符串中的连续整数

java - 在 spock 中模拟 Jdbc 接口(interface)

java - 使用 Mockito 和 JUnit 进行测试时的奇怪行为

kotlin - 如何在 kotlin 中编写@Nested 测试类

kotlin - 用 Mockito 在 Kotlin 中模拟队列似乎不起作用

java - Groovy 中用于 Java 类的动态字段

java - 反转(解析输出)Arrays.toString(int[])

java - hibernate/JPQL : How to load parent with all childs based on query on a child

android - 我如何模拟和测试这个类?

junit5 - 有没有办法根据junit5中的标签进行断言?