[JUnit] Name von TestCase bekommen

specialize

Bekanntes Mitglied
Grüß euch,

habe ein GUI für meinen Test Runner geschrieben.
Ab JUnit 4 gibts die möglichkeit mittels mehreren @Test 's einen "Multi" Testcase zu erstellen.
Dabei will ich von allen Tests darin den Namen auslesen, wenn der Test positiv ausfällt (negativ hab ichs mit dem Result -> getFailures) leicht gelöst.

Da ich allerdings mit der alten TestSuite arbeite und nicht mit der neuen Suite, schaffe ich es nicht daraus den Namen des Tests im "Multi"Test herauszufinden.
Aufgrund der fehlenden Methoden .addTestCase() und .addTestSuite() kann ich auch nicht umsteigen.

Mein derzeitiger Lösungsvorschlag ist es, den Test zu einem TestCase zu konvertieren (casten?), allerdings funktioniert es nicht so wie ich will:

Java:
s1 = new TestSuite();
			String suiteToRun = new String(tf_runts.getText());	
			sTR = Class.forName(suiteToRun);		

TestCase tc1 = (TestCase)sTR; // Funktioniert nicht



Class<? extends TestCase> ctc1 = (Class<? extends TestCase>)sTR; // Funktioniert

Allerdings habe ich jetzt bei ctc keine Methoden von TestCase vererbt.
Wie komme ich an diese?

Bzw. hat jemand eine bessere Lösung?

Wenn ein Test fehlschlägt bekomme ich den Namen der Methode so:
Java:
Result jTRES = new Result();

ta_cmd.setText(ta_cmd.getText()+"\n"+"#"+ jTRES.getRunCount()+": " + jTRES.getFailures().get(jTRES.getFailureCount()-1).getDescription().getTestClass().getName()+" [ "+JjTRES.getFailures().get(jTRES.getFailureCount()-1).getDescription().getMethodName()+" ] "+" - "+"Failure - "+jTRES.getFailures().get(jTRES.getFailureCount()-1).getMessage());
 
Zuletzt bearbeitet:
S

SlaterB

Gast
> (Class<? extends TestCase>)

es gibt generell keinen generischen Cast, innerhalb der Cast-Klammern kann man immer auf <> verzichen,
evtl. Warnungen zu unsicherem generischen Benehmen gibts so oder so

-------

ansonsten ist das ganze etwas unklar,
was ist denn jetzt sTR bei deinem Ablauf ganz konkret? entweder die Klasse erbt von TestCase oder nicht,
Annotations und Methodennamen oder was immer du da beschreibst spielen keine Rolle

außerdem versuchst du sTR erst auf TestCase, dann auf Class zu casten, was denn nun?
die Java-Klasse Class erbst eindeutig nicht von TestCase..

> sTR = Class.forName(suiteToRun);

ok, es ist also eine Klasse, du schreibst ja auch dass diese Zeile funktioniert

> habe ich jetzt bei ctc keine Methoden von TestCase vererbt.
meinst du ctc1, dass Class-Objekt? ein Objekt der Klasse Class hat auch nur Class-Methoden, keine TestCase-Methoden,

vielleicht möchtest du ein Objekt dieser Klasse mit newInstance() erzeugen?
das könntest du dann auch auf TestCase casten, falls die ominöse unbekannte Klasse von TestCase erbt
 

specialize

Bekanntes Mitglied
vielleicht möchtest du ein Objekt dieser Klasse mit newInstance() erzeugen?
das könntest du dann auch auf TestCase casten, falls die ominöse unbekannte Klasse von TestCase erbt

Ok, danke ja so könnte es gehen >TestCase.getName() Allerdings müsse ich dann den Testname der Testklasse bei jeder Testmethode ändern.

Deshalb ist die Lösung bzw. mein Vorgeschlagener Lösungsweg noch etwas "suboptimal".


Nochmal das Szenario möglichst einfach Beschrieben, hoffe verständlich:


Ich hab eine Suite, bestehend aus TestCases.
Einer dieser TestCases besteht aus mehreren TestMethoden.
Nun will ich den Namen dieser TestMethoden bekommen.

Externe Klasse zum starten der Suite:
Der Suite Name wird über ein Textfeld eingelesen und dann wird die Suite gestartet.



Wie mache ich das?
 
Zuletzt bearbeitet:
S

SlaterB

Gast
generell gibt es Reflection um an Methodennamen beliebiger Klassen zu kommen,
da kann man bestimmt auch Annotations lesen, falls das dein Kriterium für die Methoden ist

siehe etwa
Using Java Reflection
ab 'Finding Out About Methods of a Class'
wobei dort noch nichts über Annotations steht, aber man kann ja nachschlagen was die Klasse Method so bietet,
oder genauer im Internet suchen
 

specialize

Bekanntes Mitglied
ja new instance od reflection sind auch super ideen, wohlmöglich die besten die bisher meinen wissensstand erreicht haben.

die herrausforderung ist, dass man im internet eig rein gar nicht viel über das schreiben eines eigenen runners inkl. environment findet weil es ja die IDEs gibt.

Gerade ausprobiert:
New Instance + casten hat nicht funktoniert,
dafür reflection!


€: Gelöst mittels Reflection, Danke!
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Junit Test Allgemeine Java-Themen 8
J Junit surefire: enrich test information Allgemeine Java-Themen 0
J Junit start surefire for manual testing Allgemeine Java-Themen 1
P No JUnit tests found Allgemeine Java-Themen 5
F Junit Test + Cucumber - JSON auslesen und in einem weiteren Schritt nutzen Allgemeine Java-Themen 0
J JUnit - Auslassen von Code Allgemeine Java-Themen 25
S Zugriff auf jUnit Test Suite Runner-Instanzen innerhalb von Test Classes Allgemeine Java-Themen 7
S Eclipse Probleme beim Implementieren / Ausführen von jUnit 5-Test Suites Allgemeine Java-Themen 14
S Parametrisierte jUnit 5-Tests mit eigenen Datentypen/Klassen-Objekten als Test-Parameter Allgemeine Java-Themen 0
K Input/Output JUnit: Log Inhalte, falsche Assertion Allgemeine Java-Themen 2
H OOP Testen einer Exception mit JUnit Allgemeine Java-Themen 8
AssELAss Junit-Tests für SQL-Veribindung sowie SQL-Queries? Allgemeine Java-Themen 3
O Maven - JUnit - H2 Allgemeine Java-Themen 1
M Selenium JUnit Tests (Auswahl von Testmethoden auswerten) Allgemeine Java-Themen 5
C JUNIT - ANT - build.xml Allgemeine Java-Themen 0
Airwolf89 JUnit: Vorschläge/ Best Practice Allgemeine Java-Themen 7
M JUnit Serverseitig? Wie geht sowas? Allgemeine Java-Themen 2
E JUnit wie Testergebnisse pro Test ("Test Report") erhalten? Allgemeine Java-Themen 1
B JUnit Zufalls Operation testen Allgemeine Java-Themen 1
P JUnit Allgemeine Java-Themen 2
B jUnit 4: Wie protokolliert man Testergebnisse? Allgemeine Java-Themen 1
H JUnit Fehler beim Compilieren - erledigt Allgemeine Java-Themen 0
M JUnit Test Suites Allgemeine Java-Themen 2
L JUnit - automatisiertes vs. manuelles Testen? Allgemeine Java-Themen 6
B Hilfe bei JUnit Test Allgemeine Java-Themen 1
M JUnit & Multithreading - sehr seltener Fehler Allgemeine Java-Themen 3
A JUnit/Hashcode Problem Allgemeine Java-Themen 5
X Problem mit URLClassLoader und JUnit Allgemeine Java-Themen 3
N JUnit Allgemeine Java-Themen 13
M Junit Tests durchführen Allgemeine Java-Themen 18
M JVM Probleme JUnit Allgemeine Java-Themen 2
G NUnit Features in JUnit Allgemeine Java-Themen 2
darekkay (JUnit) Testdaten generieren - Framework? Allgemeine Java-Themen 2
A JUnit problem Allgemeine Java-Themen 9
T Organisation von Junit Testfällen? Allgemeine Java-Themen 2
M JUnit Tests vs. DBUnit Tests Allgemeine Java-Themen 3
P Klassen Junit test funktioniert nicht... Allgemeine Java-Themen 11
S Die Zeile die JUnit gerade ausführt lesen Allgemeine Java-Themen 15
aze JUnit: Testen ob bestimmte Exception nicht auftritt Allgemeine Java-Themen 18
U Fehler: Hauptklasse org.junit.runner.JUnitCore konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 2
G JUnit Test Methoden in anderen Thread verlagern Allgemeine Java-Themen 4
J JUnit-Tests Zeichensatzproblem ? Allgemeine Java-Themen 2
J JUnit, TestCase vs "einfacher" Test Allgemeine Java-Themen 3
1 JUnit Test Suit Allgemeine Java-Themen 2
T Junit-Tests in Java Klasse ausführen Allgemeine Java-Themen 26
J JUnit - werfen von Exceptions testen Allgemeine Java-Themen 17
M JUnit TestSuite erstellen Allgemeine Java-Themen 2
B JUnit und mehrere Instanzen der selben Applikation Allgemeine Java-Themen 4
G Testcases mit Junit auf private-Methode Allgemeine Java-Themen 7
G Input/Output System.in "umbiegen" für junit-Test Allgemeine Java-Themen 4
C JUnit und das Zulassen von RuntimeExceptions Allgemeine Java-Themen 5
ruutaiokwu junit mit annotations geht nicht? Allgemeine Java-Themen 5
T JUnit-Log auslesen Allgemeine Java-Themen 13
C JUnit Tests Allgemeine Java-Themen 4
fastjack JUnit Supplementary Classes Allgemeine Java-Themen 4
O Junit Reports / Logs als XML ohne Maven/Ant Allgemeine Java-Themen 7
M Junit und Mocks Allgemeine Java-Themen 5
fastjack jUnit und Test von equals, hashCode, toString Allgemeine Java-Themen 11
D junit - frage zu fixtures/test suites Allgemeine Java-Themen 11
A Seltsames Verhalten von JUnit-Tests im Zusammenspiel mit Ant Allgemeine Java-Themen 6
S JUnit: Erzeugen einer IOException Allgemeine Java-Themen 9
G JUnit Tests Allgemeine Java-Themen 7
G JUnit Test Allgemeine Java-Themen 5
S JUnit - was mocken, was nicht? Allgemeine Java-Themen 3
S JUnit TesSuite und @Repeat Allgemeine Java-Themen 2
S JUnit Tests für GUI / Oberflächen Allgemeine Java-Themen 2
M Junit und Mocks bei JDBC Daos Allgemeine Java-Themen 8
M JUnit Problem mit AssertionFailedError Allgemeine Java-Themen 2
B Testfälle mit JUnit Allgemeine Java-Themen 4
S JUnit Allgemeine Java-Themen 15
N ClassNotFound Exception bei JUnit Test? Allgemeine Java-Themen 2
G ANT Tutorial . Schritte bzgl. Junit Bibliothek Allgemeine Java-Themen 4
A JUnit Reports zu groß für XSLT Allgemeine Java-Themen 4
M JUnit und dynamische Tests Allgemeine Java-Themen 11
P JUnit unter Eclipse: Problem mit Exception Allgemeine Java-Themen 8
GilbertGrape Warum schlägt JUnit-Test fehl? Allgemeine Java-Themen 19
K Bekomme JUnit TEst nicht zum laufen :( Allgemeine Java-Themen 9
K Junit: Frage zum Ablauf Allgemeine Java-Themen 3
K JUnit: Tests über ant aufrufen Allgemeine Java-Themen 2
S JUnit und EasyMock Allgemeine Java-Themen 7
B Wie alt ist JUnit? Allgemeine Java-Themen 2
A Junit Exceptions testen Allgemeine Java-Themen 3
P Testen mit JUnit Allgemeine Java-Themen 8
7 JUnit: Testproblem. Allgemeine Java-Themen 23
G Ant + JUnit Allgemeine Java-Themen 2
F JUnit unter Ant Allgemeine Java-Themen 3
S Integer zu int konvertieren - JUnit Allgemeine Java-Themen 12
G testen mit JUnit? Allgemeine Java-Themen 3
K JUnit 4 User Interaktion Allgemeine Java-Themen 7
M Ant + Junit + Testclass in Jar Allgemeine Java-Themen 3
G Junit 4 - TestSuite Allgemeine Java-Themen 6
B JUnit Allgemeine Java-Themen 2
T CheckStyle, JUnit und FindBugs aus Java-Programm starten Allgemeine Java-Themen 2
S JUnit will ins Netz! Allgemeine Java-Themen 2
B JUnit - Gleichen Test x-mal durchlaufen Allgemeine Java-Themen 2
F Hilfe: Adjazenzmatrix mittels JUnit testen. Allgemeine Java-Themen 2
H JUnit Allgemeine Java-Themen 5
N Problem mit Ant und JUnit Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben