Project Testing: Difference between revisions
Jump to navigation
Jump to search
(9 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
<properties> | <properties> | ||
<novaordis.utilities.version>4.4.0-SNAPSHOT-6</novaordis.utilities.version> | |||
<test.scratch.directory>target/test-scratch</test.scratch.directory> | <test.scratch.directory>target/test-scratch</test.scratch.directory> | ||
</properties> | </properties> | ||
Line 17: | Line 18: | ||
</pre> | </pre> | ||
Note that the below section must be declared under the <plugins> and not <pluginManagement> | Note that the below section must be declared under the <plugins> and not <pluginManagement>. The novaordis-utilities dependency is necessary for its Files utilities. | ||
<pre> | <pre> | ||
Line 27: | Line 28: | ||
<groupId>org.apache.maven.plugins</groupId> | <groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-antrun-plugin</artifactId> | <artifactId>maven-antrun-plugin</artifactId> | ||
<version>1.8</version> | |||
<dependencies> | <dependencies> | ||
<dependency> | <dependency> | ||
Line 49: | Line 51: | ||
</plugin> | </plugin> | ||
</plugins> | </plugins> | ||
... | |||
<dependencies> | |||
<dependency> | |||
<groupId>io.novaordis.utilities</groupId> | |||
<artifactId>novaordis-utilities</artifactId> | |||
<version>${novaordis.utilities.version}</version> | |||
<scope>test</scope> | |||
</dependency> | |||
</dependencies> | |||
... | ... | ||
</build> | </build> | ||
Line 55: | Line 66: | ||
==Code== | ==Code== | ||
===Initialization=== | |||
<pre> | |||
... | |||
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()); | |||
} | |||
... | |||
</pre> | |||
===Access from Test=== | ===Access from Test=== | ||
<pre> | <pre> | ||
... | ... | ||
scratchDirectory ... | |||
baseDirectory ... | |||
... | |||
</pre> | </pre> | ||
Line 79: | Line 118: | ||
// | // | ||
assertTrue(io.novaordis.utilities.Files.rmdir( | assertTrue(io.novaordis.utilities.Files.rmdir(scratchDirectory, false)); | ||
} | } | ||
Line 85: | Line 124: | ||
... | ... | ||
</pre> | |||
=Accessing Resource Files= | |||
<pre> | |||
String projectBaseDirName = System.getProperty("basedir"); | |||
File dir = new File(projectBaseDirName, "src/test/resources/data"); | |||
</pre> | </pre> |
Latest revision as of 20:44, 19 April 2017
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> <version>1.8</version> <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");