Ich verwende DBUnit, um eine Spring/Hibernate Persistenz zu testen.DBUnit: Wie wird nur bei einem Fehler aktualisiert?
ich einen abstrakten Test:
public abstract class AbstractTestCase extends
AbstractTransactionalDataSourceSpringContextTests {
@Override
protected String[] getConfigLocations() {
return new String[] {
"classpath:/applicationContext.xml",
"classpath:/testDataSource.xml" };
}
@Override
protected void onSetUpInTransaction() throws Exception {
DataSource dataSource = jdbcTemplate.getDataSource();
Connection con = DataSourceUtils.getConnection(dataSource);
boolean validateSchemaExists = true;
IDatabaseConnection dbUnitCon = new DatabaseConnection(con,
"MHADB_TEST", validateSchemaExists);
DatabaseConfig dbUnitConConfig = dbUnitCon.getConfig();
dbUnitConConfig.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY,
new OracleDataTypeFactory());
boolean enableColumnSensing = true;
boolean enableDTDMetadata = false;
IDataSet dataSet = new FlatXmlDataSet(new File(
"./src/test/resources/mhadb-dataset.xml"),
enableDTDMetadata,
enableColumnSensing);
try {
DatabaseOperation.CLEAN_INSERT.execute(dbUnitCon, dataSet);
} finally {
DataSourceUtils.releaseConnection(con, dataSource);
}
}
}
Aber immer, wenn ich einen Test durchführen, aktualisieren Sie es die DB die dataSet vor jeder Testmethode agains, die sehr sehr lang und sehr nicht schön, denke ich.
Wie kann ich nur bei einem Fehler neu laden/aktualisieren?
S.S .: Wie viel kostet der Code?