Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3574 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  DBUnit: refresh seulement sur échec

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

DBUnit: refresh seulement sur échec

n°1907573
brisssou
8-/
Posté le 22-07-2009 à 11:50:58  profilanswer
 

Je me suis fait un test abstrait pour mes tests de persistance avec DBUnit  

Code :
  1. public abstract class AbstractTestCase extends
  2.        AbstractTransactionalDataSourceSpringContextTests {
  3.  
  4.        @Override
  5.        protected String[] getConfigLocations() {
  6.                return new String[] {
  7.                                "classpath:/applicationContext.xml",
  8.                                "classpath:/testDataSource.xml" };
  9.        }
  10.        @Override
  11.        protected void onSetUpInTransaction() throws Exception {
  12.                DataSource dataSource = jdbcTemplate.getDataSource();
  13.                Connection con = DataSourceUtils.getConnection(dataSource);
  14.  
  15.                boolean validateSchemaExists = true;
  16.                IDatabaseConnection dbUnitCon = new DatabaseConnection(con,
  17.                                "MHADB_TEST", validateSchemaExists);
  18.  
  19.                DatabaseConfig dbUnitConConfig = dbUnitCon.getConfig();
  20.                dbUnitConConfig.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY,
  21.                                new OracleDataTypeFactory());
  22.  
  23.                boolean enableColumnSensing = true;
  24.                boolean enableDTDMetadata = false;
  25.                IDataSet dataSet = new FlatXmlDataSet(new File(
  26.                                "./src/test/resources/mhadb-dataset.xml" ),
  27.                                enableDTDMetadata,
  28.                                enableColumnSensing);
  29.                try {
  30.                        DatabaseOperation.CLEAN_INSERT.execute(dbUnitCon, dataSet);
  31.                } finally {
  32.                        DataSourceUtils.releaseConnection(con, dataSource);
  33.                }
  34.        }
  35. }


 
Le problème avec ce code, c'est qu'il recharge la base avant chaque test. C'est long, et ça me semble crâde.
J'aurais préféré recharger la base au lancement de la baterrie de tests, ou au moins de la classe de tests, et ensuite uniquement sur échec.
Vous avez des idées ?  [:transparency]  
 
J'avoue que ma connaissance Spring est limitée...
 

Spoiler :

Et sinon à quel point il pue mon code ? [:cupra]


Message édité par brisssou le 22-07-2009 à 13:51:35

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
mood
Publicité
Posté le 22-07-2009 à 11:50:58  profilanswer
 

n°1907648
brisssou
8-/
Posté le 22-07-2009 à 14:34:40  profilanswer
 

bon, avec un coup de ça

Code :
  1. dbUnitConConfig.setFeature(DatabaseConfig.FEATURE_BATCHED_STATEMENTS, true);


ça améliore déjà grandement la vitesse d'exécution des tests.

 


Comme quoi j'arrive à lire la doc en fait...


Message édité par brisssou le 22-07-2009 à 14:35:20

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  DBUnit: refresh seulement sur échec

 

Sujets relatifs
[Google Map] Refresh KMLAutoriser espaces ds un formulaire seulement dans noms à particules
Refresh Active directory PowerhsellTexte qui apparaît seulement si champ formulaire sélectionné
[PHP] Equivalent CTRL+F5 - Refresh complet sans cacheNe pas formater le formulaire à l'échec
Recharger un swf a chaque refresh d'un site[JS]Events et javascript "inline" (Mootools,mais pas seulement)
Refresh le graphique d'un sous formulaire Access[.net] listbox/bindingsource : refresh ?
Plus de sujets relatifs à : DBUnit: refresh seulement sur échec


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)