I’ve got a (mostly) working plugin developed, but since its function is directly related to the project it processes, how do you develop unit and integration tests for the plugin. The best idea I’ve had is to create an integration test project for the plugin that uses the plugin during its lifecycle and has tests that report on the plugins success or failure in processing the data.
Anyone with better ideas?
You need to use the maven-plugin-testing-harness,
You derive your unit test classes from AbstractMojoTestCase.
You need to create a bare bones POM, usually in the
src/test/resourcesfolder.Use the AbstractMojoTest.lookupMojo(String,File) (or one of the other variations) to load the Mojo for a specific goal and execute it.
final File testPom = new File(PlexusTestCase.getBasedir(), '/target/test-classes/mytools-plugin-config.xml'); Mojo mojo = this.lookupMojo('mygoal', testPom); // Insert assertions to validate that your plugin was initialised correctly mojo.execute(); // Insert assertions to validate that your plugin behaved as expectedI created my a plugin of my own that you can refer to for clarification http://ldap-plugin.btmatthews.com,