Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Testtechniken-Praktikum WS 2005/06 1 Arbeiten mit JUnit Andreas Höfer Dr. Matthias Müller Mit Beiträgen von Johannes Link.

Ähnliche Präsentationen


Präsentation zum Thema: "Testtechniken-Praktikum WS 2005/06 1 Arbeiten mit JUnit Andreas Höfer Dr. Matthias Müller Mit Beiträgen von Johannes Link."—  Präsentation transkript:

1 Testtechniken-Praktikum WS 2005/06 1 Arbeiten mit JUnit Andreas Höfer Dr. Matthias Müller Mit Beiträgen von Johannes Link

2 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 2 JUnit Rahmenwerk zur Testautomatisierung Rahmenwerk zur Testautomatisierung Von Erich Gamma und Kent Beck Von Erich Gamma und Kent Beck Grafische und textuelle Ausgabe Grafische und textuelle Ausgabe In Eclipse integriert In Eclipse integriert

3 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 3 Aufbau einer Testklasse Erbt von TestCase Erbt von TestCase Pro Testfall eine Methode : public void test*() throws Exception Pro Testfall eine Methode : public void test*() throws Exception Testfallmethoden verwenden assert*() und fail() Testfallmethoden verwenden assert*() und fail() Fehlschlag von assert*() oder Aufruf von fail() beendet Testfall Fehlschlag von assert*() oder Aufruf von fail() beendet Testfall Zum Aufbau von Testressourcen: protected void setUp() throws Exception Zum Aufbau von Testressourcen: protected void setUp() throws Exception Zur Freigabe: protected void tearDown() throws Exception Zur Freigabe: protected void tearDown() throws Exception

4 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 4 Assertions Gekapselt in Assert Gekapselt in Assert TestCase erbt von Assert TestCase erbt von Assert Wichtigste Assertions: Wichtigste Assertions: assertEquals(Object expected, Object actual) assertEquals(Object expected, Object actual) assertEquals(double expected, double actual, double delta) assertEquals(double expected, double actual, double delta) assertSame(Object expected, Object actual) assertSame(Object expected, Object actual) assertTrue(boolean expression) assertTrue(boolean expression) assertFalse(boolean expression) assertFalse(boolean expression) assertNull(Object actual) assertNull(Object actual) assertNotNull(Object actual) assertNotNull(Object actual)

5 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 5 Statik und Dynamik eines Testfalls junit.framework assert*(…) fail() … Assert testAdding() testAmount() testRounding() EuroTest setUp() tearDown() … TestCase add(Euro e) getAmount() round() Euro :EuroTest setUp() testAdding() tearDown() :EuroTest setUp() testAdding() tearDown()

6 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 6 Beispiel: Testklasse public class EuroTest extends TestCase { private Euro two; protected void setUp() throws Exception { two = new Euro(2.0); } public void testAdding() throws Exception { Euro sum = two.add(two); assertEquals(new Euro(4.0), sum); }}

7 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 7 Testmuster: Erwartete Ausnahmen public void testNoFileHere() throws Exception { try { new File(z:/invalid_name); fail(FileNotFoundEx. expected!); } catch (FileNotFoundException ex) { }} Unerwartete Ausnahmen behandelt JUnit Unerwartete Ausnahmen behandelt JUnit

8 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 8 Organisation der Testfälle Mehrere Testfälle pro Testklasse (TestCase) Mehrere Testfälle pro Testklasse (TestCase) Testsuite fasst Testklassen und eventuell weitere Testsuiten zusammen Testsuite fasst Testklassen und eventuell weitere Testsuiten zusammen > Test TestCaseTestSuite * >

9 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 9 Beispiel: Testsuite public class AllTests { […] public static Test suite() { TestSuite suite = new TestSuite(); suite.addTestSuite(EuroTest.class);suite.addTest(file.AllTests.suite()); return suite; }}

10 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 10 TestRunner aufrufen public class AllTests { public static void main(String[] args) { TestRunner.run(AllTests.class);}[…]} 3 TestRunner: 3 TestRunner: junit.swingui.TestRunner junit.swingui.TestRunner junit.awtui.TestRunner junit.awtui.TestRunner junit.textui.TestRunner junit.textui.TestRunner Eclipse Plug-in braucht keinen davon Eclipse Plug-in braucht keinen davon

11 Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 11 Referenzen Johannes Link Softwaretests mit JUnit 2. Auflage, dpunkt.verlag ISBN 3-89864-325-5 Johannes Link Softwaretests mit JUnit 2. Auflage, dpunkt.verlag ISBN 3-89864-325-5 http://www.junit.org http://www.junit.org http://www.junit.org SWT-Folien, Kapitel 5.8: Testwerkzeuge SWT-Folien, Kapitel 5.8: Testwerkzeuge


Herunterladen ppt "Testtechniken-Praktikum WS 2005/06 1 Arbeiten mit JUnit Andreas Höfer Dr. Matthias Müller Mit Beiträgen von Johannes Link."

Ähnliche Präsentationen


Google-Anzeigen