r936 - trunk/coser-business/src/test/java/fr/ifremer/coser/services
Author: echatellier Date: 2012-01-03 15:55:01 +0100 (Tue, 03 Jan 2012) New Revision: 936 Url: http://forge.codelutin.com/repositories/revision/coser/936 Log: Am?\195?\169lioration de l'isolation des tests Modified: trunk/coser-business/src/test/java/fr/ifremer/coser/services/CoserTestAbstract.java Modified: trunk/coser-business/src/test/java/fr/ifremer/coser/services/CoserTestAbstract.java =================================================================== --- trunk/coser-business/src/test/java/fr/ifremer/coser/services/CoserTestAbstract.java 2012-01-03 13:42:34 UTC (rev 935) +++ trunk/coser-business/src/test/java/fr/ifremer/coser/services/CoserTestAbstract.java 2012-01-03 14:55:01 UTC (rev 936) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2010 Ifremer, Codelutin, Chatellier Eric + * Copyright (C) 2010 - 2012 Ifremer, Codelutin, Chatellier Eric * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as @@ -37,6 +37,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.AfterClass; +import org.junit.Before; import org.junit.BeforeClass; import org.nuiton.i18n.I18n; @@ -76,14 +77,32 @@ public static void initConfig() throws IOException { String tmpDir = System.getProperty("java.io.tmpdir"); testDirectory = new File(tmpDir, "coser"); - if (testDirectory.isDirectory()) { + if (!testDirectory.isDirectory()) { testDirectory.mkdirs(); } config = new CoserBusinessConfig(); config.setDatabaseDirectory(testDirectory.getAbsolutePath()); I18n.init(null, Locale.UK); - + + config.setWebIndicatorsFile(CoserTestAbstract.class.getResource("/webindicators.csv").getFile()); + config.setWebZonesFile(CoserTestAbstract.class.getResource("/webzones.csv").getFile()); + } + + @AfterClass + public static void cleanDirectory() throws IOException { + FileUtils.deleteDirectory(testDirectory); + } + + /** + * Recopie la base pour chaque test pour a avoir une vrai isolation + * au niveau des tests. + * + * @throws IOException + */ + @Before + public void initProjectDatabase() throws IOException { + FileUtils.cleanDirectory(config.getDatabaseDirectory()); FileUtils.copyDirectory(new File("src" + File.separator + "test" + File.separator + "resources", "projects"), config.getProjectsDirectory(), new FileFilter() { @@ -97,16 +116,8 @@ return result; } }); - - config.setWebIndicatorsFile(CoserTestAbstract.class.getResource("/webindicators.csv").getFile()); - config.setWebZonesFile(CoserTestAbstract.class.getResource("/webzones.csv").getFile()); } - @AfterClass - public static void cleanDirectory() throws IOException { - FileUtils.deleteDirectory(testDirectory); - } - /** * Create an initialized project with csv file in test resources. *
participants (1)
-
echatellier@users.forge.codelutin.com