Databases Reference
In-Depth Information
try{
con.createStatement()
.execute("INSERT INTO Gehege "
+ "(GNr, GName, Flaeche) "
+ "VALUES (3, 'Steppe', '40')");
Assert.fail();
} catch (SQLException e){
String erg = e.getMessage();
Assert
.assertTrue(erg.contains("constraint")
&& erg.contains("violated"));
} catch (Exception e){
Assert.fail();
}
}
@Test
public void testTierNichtVorhandenerGattung() {
try{
con.createStatement()
.execute("INSERT INTO Tier "
+ "(GNr, TName, Gattung) "
+ "VALUES (3, 'Nemo', 'Fisch')");
Assert.fail();
} catch (SQLException e){
Assert.assertTrue(e.getErrorCode()== 2291);
} catch (Exception e){
Assert.fail();
}
}
Die zwei vorherigen Tests prüfen Constraints der Datenbank.
Bei einer sauberen Umsetzung verstößt der erste INSERT-
Befehl gegen den Primärschlüssel, der zweite gegen einen
Fremdschlüssel. Die Datenbank antwortet bei einer korrekten
Umsetzung der Anforderungen mit einer SQL-Exception, die
hier auch jeweils gefordert wird. Detaillierter könnte in der
Exception noch der Fehlergrund überprüft werden.
private void tabellenvergleich(String tabelle,
String datei) throws Exception{
IDataSet databaseDataSet =
connDBU.createDataSet();
ITable actualTable =
databaseDataSet.getTable(tabelle);
IDataSet expectedDataSet =
new FlatXmlDataSetBuilder()
.build(new File(datei));
ITable expectedTable =
expectedDataSet.getTable(tabelle);
systematischer
Datenvergleich
318
Search WWH ::




Custom Search