Hi to all, I've invested some time to get a thing working in a different way which nags me for a long time.
Integration tests for maven plugins and for maven core... So created a prototype based on a JUnit Jupiter extension. The following is the JUnit Jupiter extension (currently very hacky code; not intended to win a competition for good code!) https://github.com/khmarbaise/maven-it-extension which contains some documentation which is of course not ready yet... but the implementation and usage (see maven-ear-plugin) gives me at the moment already a very good impression how easy it can be to write integration tests for a maven plugin etc. Example from the docs(not 100% working like that yet): @MavenIT class FirstMavenIT { @MavenTest void the_first_test_case(MavenProjectResult result) { assertThat(result) .build() .isSuccessful() .and() .project() .hasTarget() .withEarFile() .containsOnlyOnce("META-INF/MANIFEST.MF") .log() .info().contains("Writing data to file") .cache() .withEarFile("G:A:V") .withPomFile("G:A:V") .withMetadata().contains("xxx"); } } I created a branch "maven-it-extension" on Maven EAR Plugin which shows that it can be used in combination with maven-invoker-plugin:install goal and using maven-failsafe-plugin to run the tests for maven-ear-plugin (some of them at the moment. Not migrated all of them yet). Example which already works: https://github.com/apache/maven-ear-plugin/blob/maven-it-extension/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java WDYT ? Kind regards Karl Heinz Marbaise --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
