2009-07-22 6 views
0

DBUnitを使用してSpring/Hibernate永続性をテストしています。DBUnit:失敗時にのみリフレッシュするには?

私は、抽象テスト作成:

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); 
     } 
    } 
} 

をしかし、私は、テストを実行するたびに、それはDBを更新するには、私が考えるかなり非常に長く、非常に素晴らしいではありませんEVERY試験方法、前のデータセットをagains。

どのようにして失敗時にのみ再読み込み/更新できますか?

P .:コードはどれくらい吸うのですか?

答えて

0

私は(フェイルにリフレッシュ)、テストをスピードアップする方法を発見しても期待通りに動作がまだないと思った。

dbUnitConConfig.setFeature(DatabaseConfig.FEATURE_BATCHED_STATEMENTS, 
      true); 
関連する問題