NetBeans Junit - Test geht nicht mehr

White_Fox

Top Contributor
Bevor ich euch hier zig Dateien mit vielen hundert Codezeilen um die Ohren haue, probiere ich es erstmal mit einer vereinfachten Version. Folgendes:

Java:
public class AClass{}
public class NochAClass{}
public class AnAbstractClass{}

public class Problem<A extends AClass, N extends NochAClass, AA extends AnAbstractClass>{
    //Don't do shit here
}

//Unittest:
public class ProblemTest{
    class ExtendAClass extends AClass{}
    class ExtendNochAClass extends NochAClass{}
    class ExtendAnAbstractClass extends AnAbstractClass{}
    
    //Do tests...
    @Test
    public testX{
        Problem instance;
        
        instance = new Problem();
    }
}

Dies hat soweit funktioniert. Jetzt wollte ich etwas ändern und habe die Klasse, die ich testen will, abstrakt gemacht:
Java:
public class AClass{}
public class NochAClass{}
public class AnAbstractClass{}

//jetzt abstrakt:
public abstract class Problem<A extends AClass, N extends NochAClass, AA extends AnAbstractClass>{
    //Don't do shit here
}

//Unittest:
public class ProblemTest{
    class ExtendAClass extends AClass{}
    class ExtendNochAClass extends NochAClass{}
    class ExtendAnAbstractClass extends AnAbstractClass{}
    
    class ExtendProblem extends Problem<ExtendAClass, ExtendNochAClass, ExtendAnAbstractClass>{}
            
    //Do tests...
    @Test
    public testX{
        ExtendProblem instance;     //Änderung in der Deklaration
        
        instance = new ExtendProblem();
    }
}

Nun schmiert JUnit ständig ab:
Code:
Testcase: initializationError(components.library.tableset.RowTableTest):    Caused an ERROR
No runnable methods
java.lang.Exception: No runnable methods
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

Außer dem Sichtbarkeitsmodifizierer und der Deklaration hab ich soweit nichts geändert. Hat jemand eine Idee, was da schiefläuft?
 
AAAHHHH....

Die Tests hab ich automatisch generieren lassen, ist immer noch meine RowTableklasse von vorhin aus dem anderen Thread. So sehen die Tests aus:
Java:
        /**
         * Test of addRow method, of class RowTable.
         */
        @Test
        public void testAddRow() {
            RowTable instance;
            ExtendedRow row;

            System.out.println("addRow");

            instance = new ExtendedRowtable();
            row = new ExtendedRow();
            instance.addRow(row);
        }
 
Ich hab den Fehler gefunden: Irgendwo hat eine geschweifte Klammer gefehlt. Und ich Esel hab sie versehentlich falsch wieder eingesetzt. Damit gehörten alle Testmethoden fälschlicherweise zu einer der Testklassen - und demzufolge ganz richtig nicht mehr zum Unittest.

Oh mann...
 
Zuletzt bearbeitet:

Zurück
Oben