1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugin.testing.junit5;
20
21 import javax.inject.Inject;
22
23 import org.apache.maven.plugin.logging.Log;
24 import org.apache.maven.plugin.testing.ParametersMojo;
25 import org.junit.jupiter.api.Test;
26
27 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
28 import static org.junit.jupiter.api.Assertions.assertEquals;
29
30 @MojoTest
31 class Junit5Test {
32
33 private static final String POM = "<project>"
34 + "<build>"
35 + " <plugins>"
36 + " <plugin>"
37 + " <artifactId>test-plugin</artifactId>"
38 + " <configuration>"
39 + " </configuration>"
40 + " </plugin>"
41 + " </plugins>"
42 + "</build>" + "</project>";
43
44 @Inject
45 private Log log;
46
47 @Test
48 @InjectMojo(goal = "test:test-plugin:0.0.1-SNAPSHOT:parameters", pom = POM)
49 void simpleMojo(ParametersMojo mojo) {
50 assertEquals(log, mojo.getLog());
51 assertDoesNotThrow(mojo::execute);
52 }
53
54 @Test
55 @InjectMojo(goal = "test:test-plugin:0.0.1-SNAPSHOT:parameters", pom = POM)
56 @MojoParameter(name = "plain", value = "plainValue")
57 @MojoParameter(name = "withDefault", value = "withDefaultValue")
58 void simpleMojoWithParameters(ParametersMojo mojo) {
59 assertEquals("plainValue", mojo.plain);
60 assertEquals("withDefaultValue", mojo.withDefault);
61 assertDoesNotThrow(mojo::execute);
62 }
63
64 @Test
65 @InjectMojo(goal = "test:test-plugin:0.0.1-SNAPSHOT:parameters", pom = POM)
66 @MojoParameter(name = "plain", value = "plainValue")
67 void simpleMojoWithParameter(ParametersMojo mojo) {
68 assertEquals("plainValue", mojo.plain);
69 assertDoesNotThrow(mojo::execute);
70 }
71 }