Frage

Ich habe den folgenden Testfall in Eclipse, mit JUnit 4, was in der weigert sich. Was könnte falsch sein?

@Test(expected = IllegalArgumentException.class)
public void testIAE() {
    throw new IllegalArgumentException();
}

Der genaue Testfall kam, wenn ich meinen eigenen Code mit dem erwarteten Tag zu testen, hat nicht funktioniert. Ich wollte sehen, ob JUnit die grundlegendste Test bestehen würde. Es kam nicht.

ich auch mit benutzerdefinierten Ausnahmen getestet haben als ohne Glück erwartet.

Screenshot: Screenshot

War es hilfreich?

Lösung

Das Problem ist, dass Ihr AnnounceThreadTest erstreckt Testcase. Weil es Testcase erstreckt, ist die Behandlung die JUnit Runner es als JUnit 3.8 Test und der Test läuft, weil es mit dem Wort Test beginnt, die Tatsache zu verstecken, dass die @Test annotiation in der Tat gar nicht verwendet werden.

Um dies zu beheben, entfernen Sie den „erweitert Testcase“ von der Klassendefinition.

Andere Tipps

Statt Entfernung erstreckt Testcase, können Sie diese fügen Sie Ihren Testfall mit junit4 laufen die Annotation unterstützt.

@RunWith (JUnit4.class)

lief gerade dies in IntelliJ mit JUnit 4.4:

   @Test(expected = IllegalArgumentException.class)
   public void testExpected()
   {
       throw new IllegalArgumentException();
   }

Pässe perfekt.

Erstellen Sie Ihre gesamte Projekt und versuchen Sie es erneut. Es ist etwas anderes, dass Sie falsch machen. JUnit 4.4 arbeitet wie in der Werbung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top