JUnit Grundkonzept Gruppe Markt
JUnit: Ziele Einfachheit: –Leicht erlernbare, bekannte Tools –Möglichst wenig Aufwand für die Implementierung von Testfällen –Vermeidung von Doppelaufwand Intergrierbarkeit –Erhaltung des Werts eines Tests über längere Zeit –Andere als der Autor müssen Tests laufen lassen und Ergebnisse interpretieren können –Parallele Testausführung ohne ggs. Beeinflussung
JUnit: Grundkonzept
Klasse: TestCase (1/2) run(TestResult) –setUp();// Aufbau der Testumgebung –runTest(); // Ausführen des Tests –tearDown();// Abbau der Testumgebung
Klasse: TestCase (2/2) TestResult Fehler Aufzeihnungen: TestResult Fehler Unterscheidung: –Failures –Errors –AssertionFailedError TestResult Implementierungsarten von TestResult: –Grundlegende Implementierung –TextTestRsult –UITestResult
Ausführung von Testfällen Jeder Test wird als eigene Methode in derselben Klasse implementiert TestCase TestCase- Klasse implementiert viele verschiedene Methoden Jede Methode stellt einen Testfall dar Jeder Testfall hat einen selbsterklärenden Namen: testBildSuche Aufruf der Testfälle über Methoden durch übergabe der Name als String- Parameter
Klasse: TestSuite(1/3) Idee: Idee: mehrere Testfälle zu einer s.g. TestSuite zusammenfassen run(TestResult result) –ruft alle ihr zugeordneten Test der Reihe nach auf result –sammelt die Ergebnisse in result ein addTest(Test test) –Testfälle werden zur Testsuite hinzugefügt
Klasse: TestSuite(2/3) Beispiel: public static Test suite () { TestSuite suite = new TestSuite(); //Hinzufügen des Tests suite.addTest (new BildSucheTest(testBildSuche)); testBildSuche() //Hinzufügen des Tests suite.addTest (new BildDeleteTest(testBildDelete)); testBildDelete()
Klasse: TestSuite(3/3) Einfachere Lösung: public static Test suite () { return new TestSuite(BildSucheTest.class); }