Hallo Community
Ich verwende hier ein kleines Testbeispiel mit DBUnit. Es werden Tabellen komplett gelöscht und wieder neu beschrieben. Aber es sind nur 4 Tabellen und der grösste Eintrag sind 138 Einträge bei der einten Tabelle. Leider braucht das ganze 140Sekunden? Wo liegt der Fehler ?
Ich war bereits auf der DBUnit webseite. DbUnit - Frequently Asked Questions
Ich habe nur eine Connection, das Property habe ich umgestellt, das einzige was ich mir nicht sicher bin wie ich es machen muss ist wegen dem SChema.
Hat jemand sonst eine Idee was das Problem sein kann?
Ich verwende hier ein kleines Testbeispiel mit DBUnit. Es werden Tabellen komplett gelöscht und wieder neu beschrieben. Aber es sind nur 4 Tabellen und der grösste Eintrag sind 138 Einträge bei der einten Tabelle. Leider braucht das ganze 140Sekunden? Wo liegt der Fehler ?
Ich war bereits auf der DBUnit webseite. DbUnit - Frequently Asked Questions
Ich habe nur eine Connection, das Property habe ich umgestellt, das einzige was ich mir nicht sicher bin wie ich es machen muss ist wegen dem SChema.
Hat jemand sonst eine Idee was das Problem sein kann?
Java:
package de.DBUnitTestFramework;
public class JUnitDatabaseManipulation {
private Connection con = null;
private IDatabaseConnection connection = null;
private IDatabaseTester databaseTester;
public JUnitDatabaseManipulation() throws Exception {
DBPropertyManager pm = DBPropertyManager.getInstance();
Properties dbProps = pm.getProperties("db");
databaseTester = new JdbcDatabaseTester("net.sourceforge.jtds.jdbc.Driver","jdbc:jtds:sqlserver://localhost;DatabaseName=osdb", "er", "er");
this.connection = databaseTester.getConnection();
setBachtedStatementstoTrue();
}
public boolean setBachtedStatementstoTrue() {
String id = "http://www.dbunit.org/features/batchedStatements";
DatabaseConfig config = connection.getConfig();
if ((boolean) config.getProperty(id))
{
System.out.println("Batched statements is enabled.");
return true;
}
else
{
System.out.println("Batched statements is disabled.");
config.setProperty(id, true);
return (boolean) config.getProperty(id);
}
}
public void exportData(String table, String sql, String xmlName) throws Exception {
QueryDataSet partialDataSet = new QueryDataSet(connection);
partialDataSet.addTable(table, sql);
FlatXmlDataSet.write(partialDataSet, new FileOutputStream(xmlName + ".xml"));
}
public void exportMultipleData(ArrayList<String> tabellenListe, String xmlName) throws Exception {
QueryDataSet partialDataSet = new QueryDataSet(connection);
String[] listSqlStatement;
for (String sqlStatement : tabellenListe){
listSqlStatement = sqlStatement.split(",",2);
partialDataSet.addTable(listSqlStatement[0], listSqlStatement[1]);
}
FlatXmlDataSet.write(partialDataSet, new FileOutputStream(xmlName + ".xml"));
}
public void exportEntireTable(ArrayList<String> tables, String xmlName) throws DataSetException, Exception{
String[] tableList = new String[tables.size()];
tableList = tables.toArray(tableList);
IDataSet fullDataSet = connection.createDataSet(tableList);
FlatXmlDataSet.write(fullDataSet, new FileOutputStream(xmlName + ".xml"));
}
public void loadXMLIntoDB(String dateiName) throws MalformedURLException, Exception, SQLException {
FlatXmlDataSetBuilder xmlDataSetBuilder = new FlatXmlDataSetBuilder();
IDataSet dataSetBuilder = xmlDataSetBuilder.build(new File(dateiName + ".xml"));
DatabaseOperation.CLEAN_INSERT.execute(connection, dataSetBuilder);
}
public void refreshXMLIntoDB(String dateiName) throws MalformedURLException, Exception, SQLException {
FlatXmlDataSetBuilder xmlDataSetBuilder = new FlatXmlDataSetBuilder();
IDataSet dataSetBuilder = xmlDataSetBuilder.build(new File(dateiName + ".xml"));
DatabaseOperation.REFRESH.execute(connection, dataSetBuilder);
}
public void insertNewData(String xmlName) throws MalformedURLException, Exception, SQLException {
FlatXmlDataSetBuilder xmlDataSetBuilder = new FlatXmlDataSetBuilder();
IDataSet dataSetBuilder = xmlDataSetBuilder.build(new File(xmlName + ".xml"));
DatabaseOperation.INSERT.execute(connection, dataSetBuilder);
}
public void createTestDataXML(ArrayList<String> tabellenListe, String fileName) throws Exception{
exportMultipleData(tabellenListe, fileName);
}
public String createTestDataFileName(String testMethodenName, String testKlasseName) {
String fileName = "TESTDATA_" + testMethodenName + "_" + testKlasseName;
return fileName;
}
public String createBackupDataFileName(String testMethodenName, String testKlasseName) {
String fileName = "BACKUPDATA_" + testMethodenName + "_" + testKlasseName;
return fileName;
}
}