package com.ashardalon.maven.tomcat; import org.apache.maven.plugin.testing.MojoRule; import org.apache.maven.plugin.testing.WithoutMojo; import org.junit.Rule; import static org.junit.Assert.*; import org.junit.Test; import java.io.File; public class TomcatMojoTest { @Rule public MojoRule rule = new MojoRule() { @Override protected void before() throws Throwable { } @Override protected void after() { } }; /** * @throws Exception if any */ @Test public void testSomething() throws Exception { File pom = new File( "target/test-classes/project-to-test/" ); assertNotNull( pom ); assertTrue( pom.exists() ); TomcatMojo myMojo = ( TomcatMojo ) rule.lookupConfiguredMojo( pom, "deploy" ); assertNotNull( myMojo ); myMojo.execute(); File outputDirectory = ( File ) rule.getVariableValueFromObject( myMojo, "outputDirectory" ); assertNotNull( outputDirectory ); assertTrue( outputDirectory.exists() ); File touch = new File( outputDirectory, "touch.txt" ); assertTrue( touch.exists() ); } /** Do not need the MojoRule. */ @WithoutMojo @Test public void testSomethingWhichDoesNotNeedTheMojoAndProbablyShouldBeExtractedIntoANewClassOfItsOwn() { assertTrue( true ); } }