Heim  >  Artikel  >  Java  >  JUnit-BehauptungGleich zwei Objekt- oder Sammlungstypen

JUnit-BehauptungGleich zwei Objekt- oder Sammlungstypen

黄舟
黄舟Original
2016-12-28 11:43:271606Durchsuche

Können wir bei Verwendung von JUnit für zwei benutzerdefinierte MyObjClass-Objekte die folgende Methode verwenden, um festzustellen, ob ihre Inhalte identisch sind?

assertEquals(obj1, obj2)

Die Antwort lautet: Wenn die MyObjClass-Klasse die folgende Funktion überlädt, ist das in Ordnung. Ansonsten ist es unvorhersehbar.

@Overrid  
public boolean equals(Object other)

Ist es außerdem möglich zu vergleichen, ob der Inhalt zweier Karten gleich ist?


assertEquals(map1, map2)

Die Antwort lautet: Wenn die Klasse des Objekts in der Map die obige Funktion überlädt, ist sie in Ordnung. Ansonsten ist es unvorhersehbar.


Zum Beispiel überlädt die Dog-Klasse die Methode equal() wie folgt:

public class Dog {  
    public int age;  
      
    public boolean equals(Object o) {  
        if (o instanceof Dog) {  
            return (age == o.age);  
        }  
          
        return false;  
    }  
}

Das Obige ist der Inhalt von JUnit, AssertEquals zwei Objekte oder Sammlungstypen, mehr Für verwandte Inhalte beachten Sie bitte die chinesische PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn