creave
2010-11-12, 23:42:26
Hallo erstmal!
Nach längerer JUnit-Abstinenz wollte ich gerade mal wieder ein paar simple Tests in Eclipse für eine neue Klasse aufsetzen und scheitere kläglich.
In den Projekteigenschaften ist beim BuildPath JUnit4 als Library hinzugefügt und meine Testklasse erbt von "TestCase". Doch schon ein simples
@Test
public void HelloWorld() {
String s = "HelloWorld";
assertEquals("Just a test to see if everything works ...", "HelloWorld", s);
}
funktioniert nicht und endet mit der Fehlermeldung: "junit.framework.AssertionFailedError: No tests found in ...".
Okay, gut. Meine Methode beginnt nicht mit dem Wort "test". Aber ich bin mir ziemlich sicher, dass das in Version 4 auch nicht mehr so sein muss. Egal dachte ich, hänge also das Wort "test" vorne dran. Und siehe da: es klappt.
Nebenbei gesagt bräuchte ich dabei die Annotation @Test garnicht mehr. Das ist also nur ein Workaround, keine Lösung.. ich schätze mal er macht einfach ein Fallback auf Version 3 und beachtet die Annotation überhaupt nicht.
Die nächste Methode soll auf eine provozierte Exception prüfen und die Annotation lautet folglich @Test(expected=IllegalArgumentException.class).
Hierbei wird nun rumgemeckert, dass im Code eine Exception geworfen wurde und deshalb der JUnit-Test nicht ausgeführt werden konnte.. aber genau dafür ist er doch da in diesem Fall :freak:
Also wieder wird die Annotation nicht beachtet.
Was ist da Faul? Es ist übrigens JUnit 4.8.1, aber mit der habe ich damals auch gearbeitet und es gibt außer den Snapshots eh nur eine neuere, welche in Eclipse bisher nicht drin ist, es sei denn man updated manuell. Aber daran liegt es wohl nicht, der simple Test von oben müsste doch laufen, der lief ja auch schon lange vor 4.8.1.
Danke!
Nach längerer JUnit-Abstinenz wollte ich gerade mal wieder ein paar simple Tests in Eclipse für eine neue Klasse aufsetzen und scheitere kläglich.
In den Projekteigenschaften ist beim BuildPath JUnit4 als Library hinzugefügt und meine Testklasse erbt von "TestCase". Doch schon ein simples
@Test
public void HelloWorld() {
String s = "HelloWorld";
assertEquals("Just a test to see if everything works ...", "HelloWorld", s);
}
funktioniert nicht und endet mit der Fehlermeldung: "junit.framework.AssertionFailedError: No tests found in ...".
Okay, gut. Meine Methode beginnt nicht mit dem Wort "test". Aber ich bin mir ziemlich sicher, dass das in Version 4 auch nicht mehr so sein muss. Egal dachte ich, hänge also das Wort "test" vorne dran. Und siehe da: es klappt.
Nebenbei gesagt bräuchte ich dabei die Annotation @Test garnicht mehr. Das ist also nur ein Workaround, keine Lösung.. ich schätze mal er macht einfach ein Fallback auf Version 3 und beachtet die Annotation überhaupt nicht.
Die nächste Methode soll auf eine provozierte Exception prüfen und die Annotation lautet folglich @Test(expected=IllegalArgumentException.class).
Hierbei wird nun rumgemeckert, dass im Code eine Exception geworfen wurde und deshalb der JUnit-Test nicht ausgeführt werden konnte.. aber genau dafür ist er doch da in diesem Fall :freak:
Also wieder wird die Annotation nicht beachtet.
Was ist da Faul? Es ist übrigens JUnit 4.8.1, aber mit der habe ich damals auch gearbeitet und es gibt außer den Snapshots eh nur eine neuere, welche in Eclipse bisher nicht drin ist, es sei denn man updated manuell. Aber daran liegt es wohl nicht, der simple Test von oben müsste doch laufen, der lief ja auch schon lange vor 4.8.1.
Danke!