Bevor ich euch hier zig Dateien mit vielen hundert Codezeilen um die Ohren haue, probiere ich es erstmal mit einer vereinfachten Version. Folgendes:
Dies hat soweit funktioniert. Jetzt wollte ich etwas ändern und habe die Klasse, die ich testen will, abstrakt gemacht:
Nun schmiert JUnit ständig ab:
Außer dem Sichtbarkeitsmodifizierer und der Deklaration hab ich soweit nichts geändert. Hat jemand eine Idee, was da schiefläuft?
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?