Project Testing: Difference between revisions
Jump to navigation
Jump to search
(Created page with "=Internal= * Projects") |
|||
(23 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
* [[Projects#Patterns|Projects]] | * [[Projects#Patterns|Projects]] | ||
=Testing Files in the Scratch Area of the Project= | |||
==Maven Configuration== | |||
<pre> | |||
... | |||
<properties> | |||
<novaordis.utilities.version>4.4.0-SNAPSHOT-6</novaordis.utilities.version> | |||
<test.scratch.directory>target/test-scratch</test.scratch.directory> | |||
</properties> | |||
</pre> | |||
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> | |||
... | |||
<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> | |||
</pre> | |||
==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=== | |||
<pre> | |||
... | |||
scratchDirectory ... | |||
baseDirectory ... | |||
... | |||
</pre> | |||
===Cleanup after Test=== | |||
<pre> | |||
... | |||
@After | |||
public void after() throws Exception { | |||
// | |||
// scratch directory cleanup | |||
// | |||
assertTrue(io.novaordis.utilities.Files.rmdir(scratchDirectory, false)); | |||
} | |||
... | |||
</pre> | |||
=Accessing Resource Files= | |||
<pre> | |||
String projectBaseDirName = System.getProperty("basedir"); | |||
File dir = new File(projectBaseDirName, "src/test/resources/data"); | |||
</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");