zu verwenden. Der Code für MyTest wurde aktualisiert, um die Antwort zu reflektieren, die durch mehrere Implementierungen von assertEquals() in JUnit Ökosystem verfügbar ist .JUnit scheint nicht meine überschriebenen TestWatcher failed/succeeded Methoden
Ich habe eine ähnliche Frage in C gesehen, aber keine Antwort/Antworten. Ich habe mich bei der Implementierung entweder links gedreht oder überblicke etwas Einfaches. Also ...
Ich würde erwarten, die "IT-Fehler" und "IT PASSED" auf der Konsole zu sehen, aber keine Freude. Nur die Ausgabe "testFailure()" und "testSuccess()".
Testrunner impl
import junit.runner.Version; // added to support version check
import org.junit.runner.JUnitCore;
public class TestRunner {
public static void main(String[] args) {
System.out.println(Version.id()); // added to check JUnit version
JUnitCore.runClasses(MyTest.class);
}
}
Test-Umsetz
// NO LONGER NEDED (v3 -v- v4) import junit.framework.TestCase;
import org.junit.Rule;
import org.junit.Test;
import ort.junit.Assert.assertEquals; // version that invokes TestWatcher
// public class MyTest extends TestCase { // JUnit v3.X semantics
public class MyTest { // JUnit v4.X semantics
@Rule
public MyTestWatcher myTestWatcher = new MyTestWatcher();
@Test
public void testFailure() {
System.out.println("testFailure()");
assertEquals("failure", true, false);
}
@Test
public void testSuccess() {
System.out.println("testSuccess()");
assertEquals("failure", true, true);
}
}
TestWatcher impl
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
public class MyTestWatcher extends TestWatcher {
public MyTestWatcher() {}
@Override
protected void failed(Throwable e, Description description) {
System.out.println("IT FAILED");
}
@Override
protected void succeeded(Description description) {
System.out.println("IT PASSED");
}
}
Sie verwenden nicht 'TestWatcher' nach dem Javadoc: http://junit.org/junit4/javadoc/4.12/org/junit/rules/TestWatcher.html – Tunaki
Ich kopiere einfach und einfügen und alles funktioniert gut Hier. Versuchen Sie alte JAR-Dateien zu säubern und alles neu zu erstellen. – Paulo
"Sie verwenden TestWatcher nicht ordnungsgemäß gemäß dem Javadoc ..." scheint 180 aus "Ich kopiere einfach und einfügen und alles funktioniert gut ...". Aber zumindest weiß ich jetzt, dass der Code die erwarteten Ergebnisse erzeugen sollte, und kann sich auf meine Umgebung vice der Code selbst konzentrieren. – SoCal