Project Testing
Jump to navigation
Jump to search
Internal
Testing Files in the Scratch Area of the Project
Maven Configuration
... <properties> <novaordis.utilities.version>4.4.0-SNAPSHOT-6</novaordis.utilities.version> <test.scratch.directory>target/test-scratch</test.scratch.directory> </properties>
Note that the below section must be declared under the <plugins> and not <pluginManagement>. The novaordis-utilities dependency is necessary for its Files utilities.
... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <dependencies> <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant</artifactId> <version>1.7.0</version> </dependency> </dependencies> <executions> <execution> <phase>generate-test-resources</phase> <configuration> <tasks> <mkdir dir="${test.scratch.directory}" /> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> ... <dependencies> <dependency> <groupId>io.novaordis.utilities</groupId> <artifactId>novaordis-utilities</artifactId> <version>${novaordis.utilities.version}</version> <scope>test</scope> </dependency> </dependencies> ... </build>
Code
Initialization
... protected File scratchDirectory; protected File baseDirectory; @Before public void before() throws Exception { String projectBaseDirName = System.getProperty("basedir"); scratchDirectory = new File(projectBaseDirName, "target/test-scratch"); assertTrue(scratchDirectory.isDirectory()); baseDirectory = new File(System.getProperty("basedir")); assertTrue(baseDirectory.isDirectory()); } ...
Access from Test
... scratchDirectory ... baseDirectory ... ...
Cleanup after Test
... @After public void after() throws Exception { // // scratch directory cleanup // assertTrue(io.novaordis.utilities.Files.rmdir(scratchDirectory, false)); } ...
Accessing Resource Files
String projectBaseDirName = System.getProperty("basedir"); File dir = new File(projectBaseDirName, "src/test/resources/data");