Я в основном ищу рамки модульного тестирования, которые я могу использовать для сравнения POJO, которые не переопределяют методы equals и hascode. Я посмотрел на JUnit, Test NG и Mockito, но они, похоже, не решают эту цель.
Например, рассмотрите следующий код:
public class CarBean {
private String brand;
private String color;
public CarBean (){
}
public CarBean (String brand, String color){
this.brand= brand;
this.color= color;
}
/**
* @return the brand
*/
public String getBrand() {
return brand;
}
/**
* @param the brand to set
*/
public void setBrand(String brand) {
this.brand= brand;
}
/**
* @return the color
*/
public String getColor() {
return color;
}
/**
* @param the color to set
*/
public void setColor(String color) {
this.color= color;
}
}
POJO CarBean представляет собой автомобиль реального мира. Он имеет два параметра: бренд и цвет. Теперь предположим, что у вас есть два автомобильных объекта, как показано ниже:
CarBean car1 = new CarBean("Ford","Black");
CarBean car2 = new CarBean("Ford","Black");
Оба объекта имеют одинаковые значения параметров. Но когда вы сравниваете это с помощью equals, он возвращает false:
car1.equals(car2); // This returns false
Теперь мне нужно unit test метод, возвращающий объект CarBean. В этом случае мне нужно было бы либо сравнить атрибуты carbean по одному, либо мне нужно было бы реализовать методы equals() и hashcode().
Итак, мой вопрос: существует ли уже модульная система тестирования, которая может справиться с этим?