System.aus.die print () - nicht alles zeigen im test-Methoden
Ich versuche zu drucken, werden einige Daten mit System.out
in meine unit-tests (@Test
mehotds), aber es zeigt nichts an. Jedoch, es funktioniert ordnungsgemäß in @Before
Methode. Ich bin mit JUnit-mit Maven-Surefire-plugin.
public class MyTests {
@Before
void init(){
System.out.println("Initializing some data..."); //<- It works.
}
@Test
void shouldRemoveSeries() {
System.out.println("TEST: Should remove series"); //<- It doesn't.
}
}
maven-surefire-plugin
Konfiguration:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.15</version>
<configuration>
<includes>
<include>**/*Tests.java</include>
</includes>
</configuration>
</plugin>
Dank.
Nur um zu klären: Warum sind Sie mit System.aus.println() statt Logger? Letztere ist konzipiert für die Zwecke wie du geschrieben hast
haben Sie versucht, eine test-name beginnt mit: testen??? Es werden JUnit-Versionen, die diese benötigen.
Run as Junit test-oder Maven-test
Werfen Sie einen Blick auf die Antwort von @gclaussn.
Ändern Sie den Namen des Tests und nicht die Konfiguration von maven-surefire-plugin. Befolgen Sie die Konventionen.
haben Sie versucht, eine test-name beginnt mit: testen??? Es werden JUnit-Versionen, die diese benötigen.
Run as Junit test-oder Maven-test
Werfen Sie einen Blick auf die Antwort von @gclaussn.
Ändern Sie den Namen des Tests und nicht die Konfiguration von maven-surefire-plugin. Befolgen Sie die Konventionen.
InformationsquelleAutor Héctor | 2015-04-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Melden
oder System.darlegen()
Alles, was Sie in tests, theoretisch werden die Kandidaten bewertet werden, also vielleicht testen Sie fangen Protokoll als Teil der Prüfung, das ist, warum a) keine Ergebnisse in der Konsole b) test fail to pass... check
System.setOut()
link, ich, Sie werden in der Lage sein, um eine Funktion zu erstellen, zu drucken, was Sie wollen, ohne irgendwelche test... 😉Es funktioniert nicht für mich 🙁 Und
Logger
funktioniert nicht in den @Before-Methode, die mittlerweile System.aus.print() tut.Die Log-link ist kaputt.
InformationsquelleAutor Jordi Castilla
Lief in diesem als auch. Ich bin mit gradle für die Verwaltung meiner Aufgaben und ich habe das Ende von
build.gradle
Datei :Nun sehe ich
System.out.println(whateves)
.testLogging.showStandardStreams true
Dies war kopieren und einfügen von code arbeiten im Jahr 2016. YMMV, so vielleicht mit
=
ist nicht mehr erforderlich? Folgen Sie auf eigene Gefahr. 🙂Weiß nicht. Ist es vielleicht erforderlich, wenn Sie kotlin-format anstelle des Standard-groovy-format bauen.gradle.
InformationsquelleAutor Patrick
Die Ausgabe Ihrer SCHRIFTLICHEN Tests über System.aus.println Sie benötigen für die Konfiguration von maven-surefire-plugin leiten Sie diese Ausgabe in eine Datei kann erreicht werden, indem die folgenden:
Die option redirectTestOutputToFile leitet die Ausgabe von System.aus.println etc. in eine Datei, die separat erstellt:
Auszug aus den docs:
Abgesehen von diesem einen System.aus.println ist nicht sinnvoll in einem unit-test im Allgemeinen.
InformationsquelleAutor khmarbaise
Das problem ist der name der test Klasse. Anerkannt werden in der test-phase in der build (vom Maven-surefire-plugin), muss benannt werden "*Test":
Einschlüsse und AUSSCHLÜSSE von Tests
InformationsquelleAutor gclaussn
Ich ich kleinen trick in separaten nicht-test-Klasse. Es ist nicht so glatt wie logger, aber wenn Sie sind auf der Suche für eine schnelle Lösung in den Frühling Starten können Sie diesen verwenden.
PrintForTest.java
MainTest.java
bearbeitet: mit statische Methode, keine Notwendigkeit, @Autowired.
System.out.println("My new System.out.print()");
. Warum ist es zu arbeiten, wenn Druck durch eine Spring-bean?Ich weiß nicht, tiefere details, warum es nicht funktioniert in der test-Methoden. Jedenfalls in diesem Fall-System.aus.print aufgerufen wird aus der test-Methode und, dass mein Problem gelöst.
Vielen Dank für deine Antwort!
InformationsquelleAutor Baxroster
Dieser Klang mir vertraut, also gehe ich davon aus, Sie mit Ihren tests von manchen IDE (Netbeans?). Es könnte der Fall sein, es zeigt nur die Ausgabe für tests, die scheitern. Gilt das auch auftreten, wenn bei der Durchführung des Tests von der Konsole?
Vielleicht haben Sie mehr Glück mit
System.err
stattSystem.out
, aber ich bin mir nicht sicher über diese.InformationsquelleAutor Waldheinz