updating this thread again Jason and I talked over the above idea and he took a few minutes and put together the basic jist of the concept and shoved it into the mojo-sandbox so I could work with it.
mojo-sandbox/maven-plugin-testing/maven-plugin-testing-harness that has version 1.0-SNAPSHOT of the AbstractMojoTestCase which is what the test cases can subclass from to get the ability to dynamically load the mojo based on an arbitary pom. I modified the maven-clean-plugin again to make use of this and it turned out quite well I'd say. /** * tests the ability of the plugin to clean out a set of directories * * @throws Exception */ public void testClean() throws Exception { CleanMojo mojo = (CleanMojo) lookupMojo ("clean", testPom ); assertNotNull( mojo ); mojo.execute(); assertFalse ( FileUtils.fileExists( "target/test/testDirectoryStructure/buildDirectory" ) ); assertFalse ( FileUtils.fileExists( "target/test/testDirectoryStructure/buildOutputDirectory" ) ); assertFalse ( FileUtils.fileExists( "target/test/testDirectoryStructure/buildTestDirectory" ) ); } This method in the CleanMojoTest class coupled with this pom.xml @ src/test/resources/unit/clean/pom.xml execute the unit test very easily. <project> <build> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <configuration> <directory>target/test/testDirectoryStructure/buildDirectory</directory> <outputDirectory>target/test/testDirectoryStructure/buildOutputDirectory</outputDirectory> <testOutputDirectory>target/test/testDirectoryStructure/buildTestDirectory</testOutputDirectory> </configuration> </plugin> </plugins> </build> </project> I am going to take this approach and work on testing another plugin in maven now, get a couple of plugins under my belt with this and the abstract base class ought to be pretty tight. jesse -- jesse mcconnell jesseDOTmcconnellATgmailDOTcom