Sono fondamentalmente alla ricerca di un framework di testing unitario, che possa essere utilizzato per confrontare POJO che non sovrascrivano i metodi equals e hascode. Ho dato un'occhiata a JUnit, Test NG e Mockito ma non sembrano risolvere lo scopo.Come posso confrontare POJO per i loro campi in modo riflessivo
Ad esempio si consideri il codice qui sotto:
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;
}
}
Il POJO CarBean rappresenta una vera e propria world car. Ha due parametri, marca e colore. Ora, supponiamo di avere due oggetti auto come di seguito:
CarBean car1 = new CarBean("Ford","Black");
CarBean car2 = new CarBean("Ford","Black");
Entrambi gli oggetti hanno gli stessi valori di parametro. Ma quando si confronta questo con eguali, restituisce false:
car1.equals(car2); // This returns false
Ora ho bisogno di unit test un metodo che restituisce oggetto CarBean. In questo scenario, avrei bisogno di confrontare gli attributi carbean uno per uno o avrei bisogno di implementare i metodi equals() e hashcode().
Quindi la mia domanda è: esiste già un framework di test delle unità in grado di gestirlo?
Vuoi dare un'occhiata a Dozer ... –
Puoi riformulare la domanda."Come posso confrontare POJO per i loro campi in modo riflessivo" è probabile che sia in argomento per il sito, ma chiedere esplicitamente framework non è in argomento secondo [articolo 4 di queste FAQ] (http://stackoverflow.com/ help/on-topic). Detto questo, una ricerca rapida non offre una buona risposta in tema per entrambi, quindi questa domanda è probabilmente utile per gli utenti futuri con qualche modifica. –
Grazie a @JeffBowman. Ha senso –