Ich möchte eine Warnung in einem JUnit
Test anzeigen. Ich möchte nicht, dass der Test aufgrund dieser Warnung fehlschlägt, aber ich würde gerne wissen, dass die Warnung auftritt. Natürlich kann ich System.err.print
oder etwas ähnliches verwenden. Jetzt frage ich mich, was die Recht Weise ist es mit Konsole appenderWarnung in JUnit Tests
Antwort
Ich habe auch gedacht, dass dies manchmal nützlich wäre, aber das kann nicht getan werden. JUnit besteht auf einer richtigen und falschen Antwort und hat nur "Erfolg", "Fehler" und "Fehler". Fehler beim Auftreten von Fehlern im Code beim Ausführen des Tests. Ich würde umgestalten und überlegen, ob Sie wirklich eine Warnung benötigen (oder protokollieren wie die vorherige Antwort suggeriert, obwohl ich denke, dass diese Warnung bald verloren gehen würde),
Verwenden Sie möglicherweise TestSuite.warning (String), obwohl der Balken weiterhin rot ist. –
Verwendung Logger zu tun für sie
final Logger logger = LoggerFactory.getLogger(LoggingTest.class);
@Test
public void test() {
logger.warn("message");
}
PS. Beispiel mit slf4j Logger.
können Sie log4j Konfiguration spezifisch für Ihre Tests haben.
Schritt 1: Erstellen Sie eine Datei src/test/resources/test-log4j.properties mit der Konfiguration von log4j für Ihre Tests.
Beispiel:
log4j.rootLogger=DEBUG, R
log4j.appender.R=org.apache.log4j.ConsoleAppender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{3}:%L - %m%n
Schritt 2: Bearbeiten Sie Ihre pom.xml wie folgt aus:
<build>
...
<plugins>
<plugin>
<artifactid>maven-surefire-plugin</artifactid>
<version>2.3</version>
<configuration>
<systemproperties>
<property>
<!-- Specific log4j config for tests -->
<name>log4j.configuration</name>
<value>test-log4j.properties</value>
</property>
</systemproperties>
</configuration>
</plugin>
...
</plugins>
</build>
Jetzt ist Ihre log4j.properties in src/main/webapp/WEB-INF befindet/Klassen/
Hoffe das hilft.
- 1. java.util.ConcurrentModificationException in JUnit Tests
- 2. HSQLDB Primärschlüsselverletzung in JUnit Tests
- 3. Wrapping JUnit-Tests (in Eclipse)
- 4. Datengetriebene Tests mit jUnit
- 5. Gruppieren von JUnit-Tests
- 6. JUNIT Tests void Methoden
- 7. JUnit optional/erforderliche Tests
- 8. Einführung junit/robolectric Tests (gradle)
- 9. Bereinigung nach allen Junit-Tests
- 10. Entfernen redundanter JUnit-Testsuite-Tests
- 11. Gleichzeitige JUnit-Tests mit Parametern
- 12. Sollten JUnit-Tests javadocced sein?
- 13. JUnit run Tests in einem JAR
- 14. Testen von GCM in einfachen JUnit-Tests
- 15. NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor() in jUnit Tests für Android
- 16. Schreiben von JUnit-Tests in Jython
- 17. ClassCastException in JUnit Tests mit Android KitKat
- 18. Mehrere JUnit-Tests in mehreren Verzeichnissen auslösen
- 19. nicht alle junit Tests laufen in Eklipse
- 20. Wie man JUnit Tests mit Gradle durchführt?
- 21. JUnit Spring - HSQLDB schließt nicht nach Tests
- 22. Groovy Eclipse kann nicht JUnit-Tests
- 23. Verschiedene Klassenlader für verschiedene JUnit-Tests verwenden?
- 24. Kann JUnit Ant-Taskbericht ignorierte Tests?
- 25. Android Studio JUnit pure Java Tests
- 26. Weitergabe von JUnit-Daten zwischen Tests
- 27. Junit 3, Daten von Tests erhalten
- 28. Running "reine" JUnit 4 Tests mit Ameise
- 29. Rekordzeit dauert JUnit Tests zu laufen
- 30. Keine Dagger2 generierte Dateien für JUnit Tests
Es hängt davon ab, wo diese Warnung angezeigt werden soll? Konsole? Test Output-Bericht im Allgemeinen? – fge