Ich habe eine SortedList-Klasse erstellt, die über einen Konstruktor verfügt, der einen java.util.Comparator als Argument verwendet.Junit Inline-Komparator Initialisierungsfehler
Nach dem Ausführen von Komponententests auf meinem Rechner (durch Eclipse 3.3.0) war alles in Ordnung. Hudson beschwert sich jedoch, weil es sagt, dass es meinen Komparator nicht instanziieren kann.
Hier seinen mein einfacher Test (Schnipsel)
public class SortedListTest {
class strcmp implements Comparator<String>{
public strcmp(){}
public int compare(String s1,String s2){
return s1.compareTo(s2);
}
}
@Test
public void testAdd(){
SortedList<String> list = new SortedList<String>(new strcmp());
}
}
Oder eine alternative Art und Weise:
public void testAdd(){
SortedList<String> list = new SortedList<String>(new Comparator<String>(){
public int compare(String s1,String s2){
return s1.compareTo(s2);
}
});
}
Der Fehler Hudson zeigt ist
Nachrichtar.com.lib.SortedListTest $ strcmp.initializationError0
Fehler
Test-Klasse soll öffentliches hat Null-Argument Konstruktor
Stacktrace
java.lang.Exception: Test-Klasse soll hat öffentlichen Konstruktor ohne Argumente bei java.lang .reflect.Constructor.newInstance (Constructor.java:513) um java.lang.reflect.Constructor.newInstance (Constructor.java:513) verursacht durch: java.lang.NoSuchMethodException: ar.com.lib.SortedListTest $ strcmp() bei java.lang.Class.getConstructor0 (Class.java:2706) bei java.lang.Class.getConstructor (Klasse.. java: 1657)
Ich habe versucht, die @Ignore Annotation, aber bisher kein Glück. Es kompiliert nicht, wenn ich versuche
@Ignore class strcmp{}
Irgendwelche Ideen werden geschätzt. Danke im Voraus.
Ich sehe nicht, wie Hudson mit diesem –
beteiligt ist Es ist derjenige, der sich beschweren! Der Unruhestifter. – Tom
Ich bekomme das Gleiche. Tests laufen lokal unter Maven in Ordnung, scheitern aber mit diesem Fehler auf Hudson. @ Ignorieren der Klasse funktioniert auch nicht. Going JUnit 3-Stil (Erweiterung Testfall) funktioniert auch nicht. – Trenton