[JUnit] eigener Testsuite Runner + Ausgabe

specialize

Bekanntes Mitglied
Grüß euch,

ich bin gerade dabei meine eigene Testrunnerumgebung für JUnit zu schreiben.

Starten lassen und die Testsdurchlaufen kann er, allerdings happert es bei der Ausgabe.
Ich verstehe z.B. nicht ganz wie Descriptions eingesetzt werden und wofür.

Prinzipiell will ich mit dem JUnitCore (> der 4.x Runner) eine beliebige Testsuite durchlaufen lassen, welche Selenium Tests durchführt.
Das kann er bereits.
Des weitere kann ich mit dem Result die Anzahl der gelaufenen Tests sowie die Anzahl der Fehlerhaften Tests ausgeben.

1.
Wo ich Hilfe brauche: Wie kann ich eine für den User wissenswerte laufende Fehlerausgabe/Resultausgabe bekommen. (also nach jedem Testcase die Fehlermessage)

2.
Der Runner läuft in einem eigenen Thread. Zusätzlich rennt ein anderer Thread, der das Result mittels while Schleife auf einen fertigen Testcase abhört. Allerdings scheint mir das Result nicht schnell genug upzutaten (oder die while Schleife?). Bei sehr schnellen Tests springt er von 0 Tests abgeschlossen auf 5 Tests abgeschlossen. Lösung dazu?

Hier Ausschnitte aus meinem code (bitte über die conventions mal hinwegzusehen):

Klasse:
Java:
	JUnitCore JTR = new JUnitCore();	
	Result JTRES = new Result();
	RunListener JTRL = JTRES.createListener();
	
	Thread th1 = new Thread(new FirstThread());
	Thread th2 = new Thread(new SecondThread());
	Thread th3 = new Thread(new ThirdThread());

Junit Thread:
Java:
String SuiteToRun = new String(tf_runts.getText());
			Class<?> STR = Class.forName(SuiteToRun);
   
			Request JTRQ = Request.classes(STR);					
			JTR.addListener(JTRL);
			JTR.run(JTRQ);	
			Thread.sleep(500);
			JTR.removeListener(JTRL);
			System.out.println("i_finished");
			i_finished = 1;
			th2.join();

While Schleifen Thread:
Java:
int newruncount = JTRES.getRunCount();	
			System.out.println("BeginCount: "+JTRES.getRunCount()+"-"+newruncount);
			while (i_finished == 0)				
			{	
				if (JTRES.getRunCount() == newruncount+1)							
				{					
				ta_cmd.setText(ta_cmd.getText()+"\n"+"Run Time: "+JTRES.getRunTime()*0.001+" - "+ JTRES.getRunCount() +": "+ "Description");	
				ta_cmd.setCaretPosition(ta_cmd.getText().length());	
				newruncount = newruncount+1;								
				}
				else{}				
			}
 

specialize

Bekanntes Mitglied
*Push* Kennt sich da keiner aus, bzw kann mir keiner einen Tipp geben?
(will, dass die Tests auch ohne IDE rennen...)

Hab die API versucht zu verstehen, google durchforstet und hab keine simple verständliche Lösung(wenn überhaupt) gefunden.

Wieso braucht der Runlistener zb.: eine Description bei testfinished und wie schaut die Description aus wenn ich mit JUnitCore arbeite??

Wie bekomme ich die Namen der einzelnen Testcases(der klasse) als Ausgabe?


Oder wär eurer Meinung nach TestNG überhaupt vorteilhafter??
 
Zuletzt bearbeitet:
M

maki

Gast
Du ignorierst leider die Tipps die man dir gibt, das gibt es alles schon fertig.

Schau dir doch mal den Ant JUnit Task an.
 

kama

Top Contributor
Hi,

...ich bin gerade dabei meine eigene Testrunnerumgebung für JUnit zu schreiben.
....
Prinzipiell will ich mit dem JUnitCore (> der 4.x Runner) eine beliebige Testsuite durchlaufen lassen, welche Selenium Tests durchführt.
also mir ist nicht klar warum Du das machst? Für JUnit gibt es doch genug Ant, Maven ? Und für TestNG das Gleiche....

Ich verstehe Dein Problem nicht? Hängt es eventuell mit den Selenium Tests zusammen ? Was möchtest Du erreichen bzw. was klappt nicht?

Gruß
Karl Heinz Marbaise
 

Guardi

Bekanntes Mitglied
zu 1. Du kommst bei Selenium nicht drum rum vernünftige Logs selbst zu erzeugen.
Der Error aus JUnit bzw. die Message der Exception helfen dir im Prinzip gar nicht weiter, da null Aussagekraft. Besonders falls du Selenium 1.0 benutzt. Ein Logger bietet sich hier also an.

zu 2. Nach viel Hirn-Aktivität meinerseits konnte ich den Sinn hinter dieser Vorgehensweise leider nicht erkennen. Wozu brauchst du das? :>
 

kama

Top Contributor
Hallo,

zu 1. Du kommst bei Selenium nicht drum rum vernünftige Logs selbst zu erzeugen.
Der Error aus JUnit bzw. die Message der Exception helfen dir im Prinzip gar nicht weiter, da null Aussagekraft. Besonders falls du Selenium 1.0 benutzt. Ein Logger bietet sich hier also an.

Hm....Selenium Tests:
Code:
-------------------------------------------------------------------------------
Test set: com.xyz.de.test.AuswahlBenutzerRollenIT
-------------------------------------------------------------------------------
Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 33.891 sec <<< FAILURE!
dialogAufVollstaendigkeitOhneRollenWahl(com.xyz.de.test.AuswahlBenutzerRollenIT)  Time elapsed: 0.015 sec  <<< FAILURE!
org.junit.ComparisonFailure: expected:<Auswahl [X]der Nutzerrolle> but was:<Auswahl []der Nutzerrolle>
	at org.junit.Assert.assertEquals(Assert.java:123)
	at org.junit.Assert.assertEquals(Assert.java:145)
	at com.xyz.de.test.AuswahlBenutzerRollenIT.dialogAufVollstaendigkeitOhneRollenWahl(AuswahlBenutzerRollenIT.java:25)
Also mir ist ja nicht klar was an der obigen Ausgabe unklar/unzureichend ist? Hier finde ich in welcher Klasse der Test auf die Nase gefallen ist und die Zeilennummer bekomme ich auch noch...? Was brauch ich sonst noch?

Das ist ein Integrations-Test (Selenium) mit Maven...

Gruß
Karl Heinz Marbaise
 

Guardi

Bekanntes Mitglied
Ja mir und den Testern reicht das immer nicht um die Tests vernünftig anzupassen. Wir loggen den kompletten Testablauf mit, inklusive der Element-Locators (idR XPath) und so weiter. Dann kann man die Fehlerquelle noch ein bisschen schneller entdecken. Bei vielen Testfällen kann das sehr praktisch sein. Dazu ist aber zu sagen, dass wir nicht einfach nur rein Selenium benutzen sondern unseren eigenen Testautomaten drum rum gebaut haben.
Und wir benutzen nur Selenium 1.0 und somit Selenium Remote Control. Selenium 2.0 erzeugt so wie ich das bis jetzt gesehen habe schon etwas bessere Fehlernachrichten.
 
Ä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] 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
D JUnit auf Matrix anwenden Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben