Prof. Dr. Stephan Kleuker Hochschule Osnabrück Fakultät Ing.-Wissenschaften und Informatik - Software-Entwicklung - Software-Qualität Sommersemester 2014 6. Aufgabenblatt Greift man Java aus direkt auf Datenbanken zu, wird JDBC eingesetzt. Zentral wird dabei ein Statement-Objekt genutzt, mit dem Anfragen an die Datenbank gerichtet werden können. Gibt es z. B. die folgende Tabelle Noten mit den gezeigten Zeilen, Studi Fach Note Ute Prog1 400 Uwe Prog1 230 Ute Prog2 170 so wird mit der Anfrage ResultSet rs= statement.executeQuery("SELECT * FROM Noten WHERE Studi='Ute'"); ein ResultSet-Objekt berechnet, das die zwei zu Ute gehörigen Zeilen enthält. Genauer ist rs ein Iterator, der nur zeilenweise durchlaufen werden kann. Mit rs.getXXX(i) wird der Wert aus der i-ten Spalte vom Typ XXX berechnet. Man beachte, dass die Spaltennummerierung von links nach rechts mit eins beginnt. Eine Ausgabe der berechneten Ergebnisse kann dann wie folgt aussehen. while (rs.next()) { System.out.print(rs.getString(1) System.out.print(rs.getString(1) + ", "); System.out.print(rs.getString(2) + ", "); System.out.println(rs.getInt(3)); } Aufgabe 9 (3 + 2 + 5 = 10 Punkte) a) Schreiben Sie Ihre Testfälle zu Aufgabe 8 so um, dass statt Ihrer Mock-Klassen jetzt mit JMock erstellte Mocks genutzt werden, dabei muss/kann Alarm nicht gemockt werden. b) Schreiben Sie Ihre Testfälle zu Aufgabe 8 so um, dass statt Ihrer Mock-Klassen jetzt mit Mockito erstellte Mocks genutzt werden, dabei muss/kann Alarm nicht gemockt werden. c) In der Vorlesung wurde die Nutzung von JMock zum Mocken einer Datenbank angedeutet. Das zugehörige Projekt kann von der Veranstaltungswebseite geladen werden. Schreiben Sie die Mock-Klasse so um, dass Sie mit Mockito läuft. Hinweis: Beachten Sie, dass die Aufgabenstellung zur Abschlussaufgabe online ist; überlegen Sie sich frühzeitig, was Sie bearbeiten wollen. Dies muss spätestens im letzten Praktikum von Ihnen bekannt gegeben werden. Seite 1 von 1