Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Tests mit Junit und DBUnit Warum Tests? Verhindert weitreichende Auswirkung bei großen Projekten Änderung kosten viel Geld und Zeit Führt oft zu einem.

Ähnliche Präsentationen


Präsentation zum Thema: "Tests mit Junit und DBUnit Warum Tests? Verhindert weitreichende Auswirkung bei großen Projekten Änderung kosten viel Geld und Zeit Führt oft zu einem."—  Präsentation transkript:

1 Tests mit Junit und DBUnit Warum Tests? Verhindert weitreichende Auswirkung bei großen Projekten Änderung kosten viel Geld und Zeit Führt oft zu einem besseren Design Weniger Bugs Test-Driven-Development – Wichtiger Bestandteil von Extreme Programming (XP) – TDD gibt vor: bevor Funktionen hinzu/ergänzt werden, müssen zuerst Tests implementiert werden Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 1

2 Testcases Junit Initialisierung Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 2 private static Mitarbeiter TestMitarbeiter; private static ArrayList Testdaten; private static TestTableModel TestModel; private static TestJTable TestTable; @BeforeClass public static void setUpClass() { TestMitarbeiter = new Mitarbeiter(1, "Herr", "Mustermann", "Hans", "Hans.Mustermann@test.de", "0111/123456", 2,"testphase"); Testdaten = new ArrayList (); TestModel = TestTableModel.getInstance(); TestTable = new TestJTable(); } @Before public void setUp() { Testdaten.add(TestMitarbeiter); TestModel.fülleModelmitDaten(Testdaten); TestTable.TestTable().setModel(TestModel); }

3 Testcases Junit @Test public void TestMitarbeiter() { Assert.assertTrue(TestMitarbeiter.getNachname().equals("Mustermann")); } @Test public void TestMitarbeiter2() { TestMitarbeiter.setNachname("Musterfrau"); if (TestMitarbeiter.getNachname().equals("Mustermann")) { Assert.assertTrue(true); } else { Assert.fail("Test Fehlgeschlagen."); }} @Test public void MitarbeiterModelTest() { if (Testdaten.get(0).getVorname().equals("Hans")) { Assert.assertTrue(true); } else { Assert.fail("Test Fehlgeschlagen."); }} Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 3

4 Testcases 1# mit DBUnit @Before public void setUp() throws SQLException, FileNotFoundException, IOException, DataSetException { // Dataset initialisieren IDataSet dataSet = new FlatXmlDataSet(new FileInputStream("src/com/hsulm/wf5/fleetmanagement/tests/dataset.xml")); try { DatabaseOperation.CLEAN_INSERT.execute(getConnection(), dataSet); } catch (DatabaseUnitException e) { System.out.print(e); } Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 4 Dataset.xml

5 Testcases 1# mit DBUnit @Test public void test1() throws Exception { //Datensatz und spezielle Tabelle werden aus Datenbank geladen IDataSet databaseDataSet = getConnection().createDataSet(); getConnection().getConnection().prepareStatement("UPDATE Mitarbeiter SET Vorname='Test', Nachname='Test', Email='test@kontakt.de', Passwort='test' Where MitarbeiterID='7'").execute(); ITable actualTable = databaseDataSet.getTable("Mitarbeiter"); IDataSet expectedDataSet = new FlatXmlDataSet(new File("src/com/hsulm/wf5/fleetmanagement/tests/ErwarteteMitarbeitertabelle.xml")); ITable expectedTable = expectedDataSet.getTable("Mitarbeiter"); Assertion.assertEquals(expectedTable, actualTable); } Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 5

6 Testcases 1# mit DBUnit ErwarteteMitarbeiterTabelle.xml Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 6 MitarbeiterTabelle in Datenbank

7 Testcase 2# mit DBUnit //Absichtliches Fehlschlagen der Tests, um FileOutstream zu testen if (actualTable.equals(expectedTable)) { Assert.assertTrue(true); } else { FlatXmlDataSet.write(databaseDataSet, new FileOutputStream("src/com/hsulm/wf5/fleetmanagement/tests/Mitar beitertest2fail.xml")); Assert.fail("Test Fehlgeschlagen, siehe Mitarbeitertest2fail"); } Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 7 Screenshot aus Eclipse


Herunterladen ppt "Tests mit Junit und DBUnit Warum Tests? Verhindert weitreichende Auswirkung bei großen Projekten Änderung kosten viel Geld und Zeit Führt oft zu einem."

Ähnliche Präsentationen


Google-Anzeigen