Hi,
Ich experiementiere ein bisschen mit DBUnit und dabei möchte ich eine Tabelle in eine XML datei exportieren. Funktioniert auch wunderbar, wenn ich eine normale Klasse habe, aber in der Testklasse bekomme ich immer die Fehlermeldung, dass die Tabelle nicht gefunden wird.
org.dbunit.dataset.NoSuchTableException: META_DL_DB
at org.dbunit.database.DatabaseDataSet.getTableMetaData(DatabaseDataSet.java:192)
at org.dbunit.operation.DeleteAllOperation.execute(DeleteAllOperation.java:98)
at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:67)
at org.dbunit.DatabaseTestCase.executeOperation(DatabaseTestCase.java:87)
at org.dbunit.DatabaseTestCase.setUp(DatabaseTestCase.java:104)
Die Routinen von den beiden sind aber identisch.
Hier ist die normale Klasse
... und hier ist die Testklasse
Ich experiementiere ein bisschen mit DBUnit und dabei möchte ich eine Tabelle in eine XML datei exportieren. Funktioniert auch wunderbar, wenn ich eine normale Klasse habe, aber in der Testklasse bekomme ich immer die Fehlermeldung, dass die Tabelle nicht gefunden wird.
org.dbunit.dataset.NoSuchTableException: META_DL_DB
at org.dbunit.database.DatabaseDataSet.getTableMetaData(DatabaseDataSet.java:192)
at org.dbunit.operation.DeleteAllOperation.execute(DeleteAllOperation.java:98)
at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:67)
at org.dbunit.DatabaseTestCase.executeOperation(DatabaseTestCase.java:87)
at org.dbunit.DatabaseTestCase.setUp(DatabaseTestCase.java:104)
Die Routinen von den beiden sind aber identisch.
Hier ist die normale Klasse
Code:
import java.io.File;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.database.QueryDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
public class Test
{
public static final String TABLE_NAME = "META_DL_DB";
/**
* Provide a connection to the database
*/
protected IDatabaseConnection getConnection() throws Exception
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection jdbcConnection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl10", "vdacore", "vdacore");
return new DatabaseConnection(jdbcConnection,"admin");
}
/**
* Test the DbUnit export mechanism
*/
public void testExportData() throws Exception
{
QueryDataSet queryDataSet = new QueryDataSet(getConnection());
queryDataSet.addTable(TABLE_NAME, "SELECT * FROM " + TABLE_NAME);
String url=System.getProperty("user.dir");
File outputFile = new File(url+"/output_neu.xml");
FlatXmlDataSet.write(queryDataSet, new FileOutputStream(outputFile));
}
public static void main(String[] args) {
try{
Test t=new Test();
t.testExportData();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
... und hier ist die Testklasse
Code:
import java.io.File;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import org.dbunit.DatabaseTestCase;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.database.QueryDataSet;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
public class TestDBUnit extends DatabaseTestCase
{
public static final String TABLE_NAME = "META_DL_DB";
private FlatXmlDataSet loadedDataSet;
QueryDataSet queryDataSet;
/**
* Provide a connection to the database
*/
protected IDatabaseConnection getConnection() throws Exception
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection jdbcConnection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl10", "vdacore", "vdacore");
return new DatabaseConnection(jdbcConnection,"admin");
}
/**
* Load the data which will be inserted for the test
*/
protected IDataSet getDataSet() throws Exception
{
loadedDataSet = new FlatXmlDataSet(this.getClass().getClassLoader().getResourceAsStream("input.xml"));
return loadedDataSet;
}
/**
* Test the DbUnit export mechanism
*/
public void testExportData() throws Exception
{
QueryDataSet queryDataSet = new QueryDataSet(getConnection());
queryDataSet.addTable(TABLE_NAME, "SELECT * FROM " + TABLE_NAME);
String url=System.getProperty("user.dir");
File outputFile = new File(url+"/output_neu.xml");
FlatXmlDataSet.write(queryDataSet, new FileOutputStream(outputFile));
}
}