JUNit bei System.out

Status
Nicht offen für weitere Antworten.

Java-Problems

Bekanntes Mitglied
Hey leutz,
kurze frage zu JUnit:
Wie kann ich MEthoden testen, die beispielsweise eine System.out.println drin haben, oder aber als return-statement einen String besitzen?

Code:
	public String toString() {
		return this.getName() + " [" + this.getQuantityAv() + "]"
				+ " alcoloic: " + isAlcoholic();
	}

Benötige ich generell einen Rückgabewert um einen Unittest zu schreiben? Oder kann ich auch "void" methoden testen?
 
M

maki

Gast
>> Wie kann ich MEthoden testen, die beispielsweise eine System.out.println drin haben,

Was willst du testen? Ob System.out etwas schreibt, das wird schwierig..

>> oder aber als return-statement einen String besitzen?

Das ist einfach, prüfe doch ob der String dem erwarteten entspricht.

>> Benötige ich generell einen Rückgabewert um einen Unittest zu schreiben? Oder kann ich auch "void" methoden testen?

Die Frage ist doch, was willst du testen?
 

Ebenius

Top Contributor
Mit JUnit kann man natürlich auch Dinge testen die keinen Rückgabewert haben. Man kann zum Beispiel prüfen, dass eine Methode keine Exception wirft, oder dass danach ein Property richtig gesetzt ist, oder dass auf einem Strom das richtige ankommt.

Methodenausgabe auf System.out zu prüfen würde so gehen (auch wenn das nicht so fein aussieht): [HIGHLIGHT="Java"]final PrintStream stdout = Sytem.out;
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
System.setOut(new PrintStream(baos));
// do your stuff here
} finally {
System.setOut(stdout);
}

// Check the data in baos[/HIGHLIGHT]
Optional kann man das auch noch synchronisieren, um Querschläger zu stoppen; aber da sollte man wissen was man tut, sonst hängt man sich DeadLocks an die Backe:

[HIGHLIGHT="Java"]final PrintStream stdout = Sytem.out;
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
final PrintStream newOut = new PrintStream(baos);
synchronized (newOut) {
try {
System.setOut(newOut);
// do your stuff here
} finally {
System.setOut(stdout);
}
}

// Check the data in baos[/HIGHLIGHT]
String-Rückgabe kann man natürlich genauso prüfen wie alles andere auch: [HIGHLIGHT="Java"]assertEquals("toString() check", "I am the right answer", obj.toString());[/HIGHLIGHT]
Quelltext im Browser getippt, kleine Fehler bitte selbst beheben

Ebenius
 
Zuletzt bearbeitet:

Java-Problems

Bekanntes Mitglied
ich habe eine methode, die etwas in eine Datei speichert und möchte den Inhalt mit einem Objekt vergleichen.
Dazu mache ich doch am besten bei beidem eine toString und es müsste das gleich drin stehen, oder?
 

Java-Problems

Bekanntes Mitglied
BufferdReader datei = bew BufferedReader(new Filereader("datei.txt"));
AssertEquals(Objekt.toString() == datei.toString());

So habe ich das gemeint... :)
 

Ebenius

Top Contributor
Also erstens gibt's die Methode da oben gar nicht. Equals hat zwei oder drei Argumente (und wird klein geschrieben, aber das war sicher nur ein Tippfehler). Und zweitens: Warum sollte denn der Reader gleich Deinem Objekt sein? Das kann so nicht funktionieren.

Ebenius
 

Java-Problems

Bekanntes Mitglied
der solle gleich sein, weil ich zuvor mein getObjetc() in ne Datei geschrieben habe

Wie kann ich ansonsten einen dateiinhalt mit einem STring bzw. mit einem Objekt vergleichen?
 

Ebenius

Top Contributor
Das geht nur, indem Du den Inhalt der Datei auch wieder ausliest und dann den ausgelesenen Inhalt mit dem Inhalt des Objektes vergleichst. Woher soll denn der Reader oder JUnit wissen, wie Dein Objekt funktioniert und wie man die Inhalt vergleichen kann?

Ebenius
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W junit.Test not accessible? Java Basics - Anfänger-Themen 4
6 Best Practice Feedback zu Service / JUnit Tests Java Basics - Anfänger-Themen 3
M Anfängerfehler - Tests JUnit IntelliJ Java Basics - Anfänger-Themen 24
D Cannot find JUnit.framework Java Basics - Anfänger-Themen 1
W Junit-Test (Java) Java Basics - Anfänger-Themen 4
W Testfälle bei Java ( Junit-Test) Java Basics - Anfänger-Themen 3
U JUnit testen auf SomeException Java Basics - Anfänger-Themen 5
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
A JUnit testing is inkonsistent Java Basics - Anfänger-Themen 12
A Junit Test für MysqlDataSource JDBC Java Basics - Anfänger-Themen 3
A Test Junit Java Basics - Anfänger-Themen 1
H Junit test Java Basics - Anfänger-Themen 12
P Methoden JUnit 4 - Test Java Basics - Anfänger-Themen 6
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
Y Wie kann ich Konsoleneingaben durch den Scanner mit JUnit 4 testen? Java Basics - Anfänger-Themen 1
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
N Fehler bei JUnit Test Java Basics - Anfänger-Themen 5
W JUnit Tests Java Basics - Anfänger-Themen 4
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
B JUnit / Exceptions/ try-catch Java Basics - Anfänger-Themen 6
L JUnit tests in java Java Basics - Anfänger-Themen 5
N JUnit und private Methoden testen. Java Basics - Anfänger-Themen 9
F JUnit - Was ist mit "side effects" gemeint ? Java Basics - Anfänger-Themen 2
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
B JUnit Test erstellen Java Basics - Anfänger-Themen 6
W Problem bei JUnit Test Aufgabe Java Basics - Anfänger-Themen 15
L Junit Testing bei XML? Java Basics - Anfänger-Themen 3
J LocalDateTime testen mit Junit Java Basics - Anfänger-Themen 20
W JUnit Test und HashCode Java Basics - Anfänger-Themen 14
A Objekt in Methode zurückgeben, JUnit zeigt Error Java Basics - Anfänger-Themen 2
A Kfz - Händler Klasse. JUnit-Test gibt noch Fehler an, aber finde Ursache nicht Java Basics - Anfänger-Themen 7
O JUnit - Objektreferenzen Java Basics - Anfänger-Themen 3
G Testen mit JUnit Java Basics - Anfänger-Themen 4
B Palindrom Test mit Junit Java Basics - Anfänger-Themen 23
C JUnit Tests. How to Java Basics - Anfänger-Themen 5
S Junit Test Java Basics - Anfänger-Themen 2
shiroX Klassen Klasse/Methode private final jUnit-Fehler Java Basics - Anfänger-Themen 5
L Junit Tests Java Basics - Anfänger-Themen 10
A IllegalArgumentException in JUnit testen Java Basics - Anfänger-Themen 3
V ToString-Methode mit JUnit testen(BlueJ) Java Basics - Anfänger-Themen 10
shiroX Methoden JUnit-Test einer void-Methode Java Basics - Anfänger-Themen 4
V JUnit Klassen Java Basics - Anfänger-Themen 3
T Junit Mockito: Instanz von inneren erzeugten Objekten Java Basics - Anfänger-Themen 4
S JUnit - Swing- Anwendung wird nicht neu gestartet Java Basics - Anfänger-Themen 0
B Binäre Suche - Junit Test Java Basics - Anfänger-Themen 6
S Kommt es zu Seiteneffekten wenn man waehrend den laufenden JUnit Tests den Code aendert? Java Basics - Anfänger-Themen 2
M JUnit Testmethoden mit mehreren assert Methoden Java Basics - Anfänger-Themen 1
S Double und Gleitkommazahlen mit JUnit testen Java Basics - Anfänger-Themen 7
K JUnit: Objekte von eigenen Klassen vergleichen...geht nicht Java Basics - Anfänger-Themen 5
Z JUnit Exception Java Basics - Anfänger-Themen 2
M Verständnisfrage zu JUnit Tests und private Methoden Java Basics - Anfänger-Themen 3
M Ist die Hamcrest Bibliothek auch schon in Junit 4.11 verfügbar? Java Basics - Anfänger-Themen 1
S Unterschied .jar Datei ausführen und junit Testfall... Java Basics - Anfänger-Themen 3
M Reihenfolge von Testmethoden in JUnit beeinflussen Java Basics - Anfänger-Themen 2
S Separate Funktion für JUnit-Test Java Basics - Anfänger-Themen 3
G JUnit-Tests im Programmdurchlauf starten Java Basics - Anfänger-Themen 4
T Best Practice JUnit: Wie Klassen durch Stubs/Mockups ersetzen Java Basics - Anfänger-Themen 7
T JUnit test failed Java Basics - Anfänger-Themen 3
M Junit Tests durchführen, die eine Verbindung zu einer Daten erfordern Java Basics - Anfänger-Themen 3
T Junit in Eclipse Java Basics - Anfänger-Themen 1
P JUnit bedeutungen Java Basics - Anfänger-Themen 3
R JUnit Test mit einer Dateistruktur als Testparameter Java Basics - Anfänger-Themen 3
shiroX OOP Array kleinste Zahl mit jUnit test Java Basics - Anfänger-Themen 3
S JUnit assertEquals funktioniert nichgt wie es sollte :( Java Basics - Anfänger-Themen 7
V Frage zu JUnit Tests Java Basics - Anfänger-Themen 3
B JUnit für JFileChooser Java Basics - Anfänger-Themen 6
S Code stimmt nicht für vorgegebenen JUnit-Test Java Basics - Anfänger-Themen 2
S File vergleich - Junit Java Basics - Anfänger-Themen 6
T JUnit Java Basics - Anfänger-Themen 18
G Junit Java Basics - Anfänger-Themen 4
X JUnit testing Java Basics - Anfänger-Themen 7
T JUnit Suite frage Java Basics - Anfänger-Themen 6
R JUnit Test mit mehrfach ausgeführt Java Basics - Anfänger-Themen 6
S InvocationTargetException bei JUnit Testlauf Java Basics - Anfänger-Themen 2
B JUnit - Mini-Test Java Basics - Anfänger-Themen 9
T Unterschied zwischen Integrationstest und JUnit test? Java Basics - Anfänger-Themen 12
Y Junit Test - Testwert ändert sich Java Basics - Anfänger-Themen 12
T Junit --Exception testen Java Basics - Anfänger-Themen 15
A JUnit Tests in Jar-Archiv packen Java Basics - Anfänger-Themen 2
G Erste Schritte JUNIT Regressionstests automatisieren Java Basics - Anfänger-Themen 2
M JUnit - nur einzelne Methode testen? Java Basics - Anfänger-Themen 4
M JUnit - nur Failures loggen? Java Basics - Anfänger-Themen 2
S Hilfe zu Java-Programm und JUnit Test!! Java Basics - Anfänger-Themen 5
T JUNit Test IOException Java Basics - Anfänger-Themen 5
R String Replace für JUnit Java Basics - Anfänger-Themen 19
T JUNIT Nullpointerexception Java Basics - Anfänger-Themen 3
M JUNIT tests mit ant script ausführen Java Basics - Anfänger-Themen 4
S [JUnit] eigener Testsuite Runner + Ausgabe Java Basics - Anfänger-Themen 6
S [JUnit] Print Results while running Java Basics - Anfänger-Themen 6
W Mit jUnit Array testen? Java Basics - Anfänger-Themen 5
T Junit Tests Java Basics - Anfänger-Themen 7
I JUnit Datapoints für mehrere Testklassen Java Basics - Anfänger-Themen 4
Spin JUNIT Test Case - Problem bei testen Java Basics - Anfänger-Themen 2
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
M Junit tests gehen nicht Java Basics - Anfänger-Themen 2
E OOP einfache Array Aufgabe mit jUnit Java Basics - Anfänger-Themen 5
L JUNIT Testing Java Basics - Anfänger-Themen 3
C jUnit: Erfahren, ob der getestete Code eine Exception gehandelt hat Java Basics - Anfänger-Themen 3
timbeau JUnit Test Dauer speichern/loggen Java Basics - Anfänger-Themen 16
turmaline JUnit testen ob keine Exception auftritt Java Basics - Anfänger-Themen 23

Ähnliche Java Themen

Neue Themen


Oben