我正在嘗試將dbunit與oracle一起使用,並具有如下的測試用例。當我嘗試運行下面的代碼時,它給了我。我不確定我在這裏錯在哪裏。是否有人可以幫助DbUnit中的NoSuchTableException Oracle
org.dbunit.dataset.NoSuchTableException:INVOICE_STATUS_TYPE 在org.dbunit.database.DatabaseDataSet.getTableMetaData(DatabaseDataSet.java:278) 在org.dbunit.operation.DeleteAllOperation.execute(DeleteAllOperation.java :109) 在org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:79)
import junit.framework.Assert;
import org.dbunit.DBTestCase;
import org.dbunit.PropertiesBasedJdbcDatabaseTester;
import org.dbunit.database.DatabaseConfig;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.junit.Test;
public class MyTest extends DBTestCase{
private FlatXmlDataSet loadedDataSet;
public MyTest() {
super();
System.out.println("TEST TEST");
System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_DRIVER_CLASS, "oracle.jdbc.OracleDriver");
System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_CONNECTION_URL, "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=vp1.qa.nsc.com)(PORT=2186))(CONNECT_DATA=(SERVICE_NAME=FADBBD1E)))");
System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_USERNAME, "nscdba");
System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_PASSWORD, "dscdbapwd");
System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_SCHEMA, "INVOICE");
}
@Override
protected IDataSet getDataSet() throws Exception {
//return new FlatXmlDataSetBuilder().build(new FileInputStream("dataset.xml"));
loadedDataSet = new FlatXmlDataSet(this.getClass().getClassLoader().getResourceAsStream("dataset.xml"));
System.out.println(loadedDataSet.getTableNames().length);
return loadedDataSet;
}
@Test
public void testStatus() {
System.out.println("Hey...");
Assert.assertTrue(true);
}
protected void setUpDatabaseConfig(DatabaseConfig config) {
config.setProperty(DatabaseConfig.FEATURE_QUALIFIED_TABLE_NAMES, true);
}
}
那麼,這是否表INVOICE_STATUS_TYPE數據庫FADBBD1E存在嗎? –