Junit-inline-Komparator Initialisierung Fehler

Ich habe eine SortedList-Klasse, die einen Konstruktor ein java.util.Comparator als argument.

Nach dem ausführen von Unit tests auf meinem Rechner (über eclipse 3.3.0) war alles OK. Allerdings Hudson Beschwerden, weil es sagt, es kann nicht instanziiert meine Komparator.

Hier sein mein einfachen test (Ausschnitte)

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 einen alternativen Weg:

public void testAdd(){
        SortedList<String> list = new SortedList<String>(new Comparator<String>(){
            public int compare(String s1,String s2){
                return s1.compareTo(s2);
            }
        });
}

Den Fehler Hudson zeigt, ist

ar.com.lib.SortedListTest$strcmp.initializationError0

Fehlermeldung

Test Klasse sollte public-null-argument-Konstruktor

Stacktrace

java.lang.Ausnahme: Test-Klasse
öffentliche null-argument-Konstruktor
bei
java.lang.reflektieren.Konstruktor.newInstance(Constructor.java:513)
bei
java.lang.reflektieren.Konstruktor.newInstance(Constructor.java:513)
Verursacht durch:
java.lang.NoSuchMethodException:
ar.com.lib.SortedListTest$strcmp.()
bei
java.lang.Klasse.getConstructor0(Klasse.java:2706)
bei
java.lang.Klasse.getConstructor(Class.java:1657)

Ich ve versucht, mit @Ignore-annotation, aber kein Glück so weit. Es wird nicht kompiliert wenn ich versuche

@Ignore class strcmp{}

Alle Ideen werden geschätzt. Vielen Dank im Voraus.

Ich sehe nicht, wie Hudson ist beteiligt mit diesem
Es ist der einzige, der beschwert sich! Die Ursache des Problems.
Ich bin immer der gleiche. Tests lokal ausführen unter Maven in Ordnung, aber mit diesem Fehler fehlschlagen, auf der Hudson. @Ignore ' Ing die Klasse funktioniert auch nicht. Gehen JUnit-3-Stil (Erweiterung der TestCase) funktioniert auch nicht.
Hinzugefügt hudson-tag, da dieses eine Interaktion zwischen diesem container und junit.

InformationsquelleAutor Tom | 2009-07-20

Schreibe einen Kommentar