Skip to content

Commit 15e0755

Browse files
[JUnit 5] Migrate to JUnit 5 Platform (with existing JUnit 4 test cases) (aws#2850)
* [JUnit 5] Migrate to JUnit 5 Platform (with existing JUnit 4 test cases) ## Motivation We would like to leverage JUnit 5's concept of global hooks which can be installed and detected as part of the class path: https://junit.org/junit5/docs/current/user-guide/#extensions-registration-automatic However, our current codebase uses JUnit 4 almost everywhere, except for the stability tests, which leverage JUnit 5. Besides wishing to take advantage of newer features, there is additional value in making sure our tests are consistent and up-to-date as well. JUnit 5 offers the junit-vintage-engine module to support legacy JUnit 4 style tests. Simply having it available on the class path will allow JUnit 4 tests be executed with the JUnit 5 Platform launcher: https://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4 JUnit 4 -> 5 migrations are often done in a 3-step process: 1. Update dependencies to JUnit 5, including the vintage module, causing all tests to leverage the new JUnit 5 Platform 2. Incrementally migrate JUnit 4 tests to JUnit 5 tests 3. Once no JUnit 4 usage remains, remove the dependency on the vintage module This commit achieves the first step in the above process, which will also allow us to immediately leverage JUnit 5-specific features, like global/classpath hooks. ## Modifications * Upgrade JUnit 5 version from 5.4.2 to 5.8.1 (latest) * For all existing usages of junit, replace them with a dependency on junit-jupiter and junit-vintage-engine * Upgrade Maven Surefire version from 2.22.2 to 3.0.0-M5, which has better support for JUnit 5 https://maven.apache.org/surefire/maven-surefire-plugin/examples/junit-platform.html
1 parent 7d6103b commit 15e0755

File tree

47 files changed

+255
-95
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+255
-95
lines changed

archetypes/archetype-app-quickstart/src/main/resources/archetype-resources/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<aws.java.sdk.version>${javaSdkVersion}</aws.java.sdk.version>
1818
<slf4j.version>1.7.28</slf4j.version>
1919
<graalvm.version>21.0.0</graalvm.version>
20-
<junit5.version>5.4.2</junit5.version>
20+
<junit5.version>5.8.1</junit5.version>
2121
</properties>
2222

2323
<dependencyManagement>

archetypes/archetype-app-quickstart/src/test/resources/projects/apachehttpclient/reference/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<aws.java.sdk.version>2.11.0</aws.java.sdk.version>
1717
<slf4j.version>1.7.28</slf4j.version>
1818
<graalvm.version>21.0.0</graalvm.version>
19-
<junit5.version>5.4.2</junit5.version>
19+
<junit5.version>5.8.1</junit5.version>
2020
</properties>
2121

2222
<dependencyManagement>

archetypes/archetype-app-quickstart/src/test/resources/projects/apachehttpclientwithoutnativeimage/reference/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<aws.java.sdk.version>2.11.0</aws.java.sdk.version>
1717
<slf4j.version>1.7.28</slf4j.version>
1818
<graalvm.version>21.0.0</graalvm.version>
19-
<junit5.version>5.4.2</junit5.version>
19+
<junit5.version>5.8.1</junit5.version>
2020
</properties>
2121

2222
<dependencyManagement>

archetypes/archetype-app-quickstart/src/test/resources/projects/nettyclient/reference/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<aws.java.sdk.version>2.11.0</aws.java.sdk.version>
1717
<slf4j.version>1.7.28</slf4j.version>
1818
<graalvm.version>21.0.0</graalvm.version>
19-
<junit5.version>5.4.2</junit5.version>
19+
<junit5.version>5.8.1</junit5.version>
2020
</properties>
2121

2222
<dependencyManagement>

archetypes/archetype-app-quickstart/src/test/resources/projects/urlhttpclient/reference/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<aws.java.sdk.version>2.11.0</aws.java.sdk.version>
1717
<slf4j.version>1.7.28</slf4j.version>
1818
<graalvm.version>21.0.0</graalvm.version>
19-
<junit5.version>5.4.2</junit5.version>
19+
<junit5.version>5.8.1</junit5.version>
2020
</properties>
2121

2222
<dependencyManagement>

archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
1717
<aws.java.sdk.version>${javaSdkVersion}</aws.java.sdk.version>
1818
<aws.lambda.java.version>1.2.0</aws.lambda.java.version>
19-
<junit5.version>5.4.2</junit5.version>
19+
<junit5.version>5.8.1</junit5.version>
2020
#if( $httpClient == 'netty-nio-client')
2121
<netty.openssl.version>${nettyOpenSslVersion}</netty.openssl.version>
2222
#end

archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
1616
<aws.java.sdk.version>2.11.0</aws.java.sdk.version>
1717
<aws.lambda.java.version>1.2.0</aws.lambda.java.version>
18-
<junit5.version>5.4.2</junit5.version>
18+
<junit5.version>5.8.1</junit5.version>
1919
</properties>
2020

2121
<dependencyManagement>

archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
1616
<aws.java.sdk.version>2.11.0</aws.java.sdk.version>
1717
<aws.lambda.java.version>1.2.0</aws.lambda.java.version>
18-
<junit5.version>5.4.2</junit5.version>
18+
<junit5.version>5.8.1</junit5.version>
1919
</properties>
2020

2121
<dependencyManagement>

archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
1616
<aws.java.sdk.version>2.11.0</aws.java.sdk.version>
1717
<aws.lambda.java.version>1.2.0</aws.lambda.java.version>
18-
<junit5.version>5.4.2</junit5.version>
18+
<junit5.version>5.8.1</junit5.version>
1919
<netty.openssl.version>2.0.29.Final</netty.openssl.version>
2020
</properties>
2121

archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
1616
<aws.java.sdk.version>2.11.0</aws.java.sdk.version>
1717
<aws.lambda.java.version>1.2.0</aws.lambda.java.version>
18-
<junit5.version>5.4.2</junit5.version>
18+
<junit5.version>5.8.1</junit5.version>
1919
</properties>
2020

2121
<dependencyManagement>

archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
1616
<aws.java.sdk.version>2.11.0</aws.java.sdk.version>
1717
<aws.lambda.java.version>1.2.0</aws.lambda.java.version>
18-
<junit5.version>5.4.2</junit5.version>
18+
<junit5.version>5.8.1</junit5.version>
1919
</properties>
2020

2121
<dependencyManagement>

bom-internal/pom.xml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -295,9 +295,15 @@
295295
<scope>test</scope>
296296
</dependency>
297297
<dependency>
298-
<groupId>junit</groupId>
299-
<artifactId>junit</artifactId>
300-
<version>${junit.version}</version>
298+
<groupId>org.junit.jupiter</groupId>
299+
<artifactId>junit-jupiter</artifactId>
300+
<version>${junit5.version}</version>
301+
<scope>test</scope>
302+
</dependency>
303+
<dependency>
304+
<groupId>org.junit.vintage</groupId>
305+
<artifactId>junit-vintage-engine</artifactId>
306+
<version>${junit5.version}</version>
301307
<scope>test</scope>
302308
</dependency>
303309
<dependency>

codegen-lite/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,13 @@
9494
<scope>test</scope>
9595
</dependency>
9696
<dependency>
97-
<groupId>junit</groupId>
98-
<artifactId>junit</artifactId>
97+
<groupId>org.junit.jupiter</groupId>
98+
<artifactId>junit-jupiter</artifactId>
99+
<scope>test</scope>
100+
</dependency>
101+
<dependency>
102+
<groupId>org.junit.vintage</groupId>
103+
<artifactId>junit-vintage-engine</artifactId>
99104
<scope>test</scope>
100105
</dependency>
101106
</dependencies>

codegen/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,13 @@
156156
</dependency>
157157

158158
<dependency>
159-
<artifactId>junit</artifactId>
160-
<groupId>junit</groupId>
159+
<groupId>org.junit.jupiter</groupId>
160+
<artifactId>junit-jupiter</artifactId>
161+
<scope>test</scope>
162+
</dependency>
163+
<dependency>
164+
<groupId>org.junit.vintage</groupId>
165+
<artifactId>junit-vintage-engine</artifactId>
161166
<scope>test</scope>
162167
</dependency>
163168
<dependency>

core/arns/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,13 @@
4444
</dependency>
4545

4646
<dependency>
47-
<groupId>junit</groupId>
48-
<artifactId>junit</artifactId>
47+
<groupId>org.junit.jupiter</groupId>
48+
<artifactId>junit-jupiter</artifactId>
49+
<scope>test</scope>
50+
</dependency>
51+
<dependency>
52+
<groupId>org.junit.vintage</groupId>
53+
<artifactId>junit-vintage-engine</artifactId>
4954
<scope>test</scope>
5055
</dependency>
5156
<dependency>

core/auth-crt/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,13 @@
6969
</dependency>
7070

7171
<dependency>
72-
<groupId>junit</groupId>
73-
<artifactId>junit</artifactId>
72+
<groupId>org.junit.jupiter</groupId>
73+
<artifactId>junit-jupiter</artifactId>
74+
<scope>test</scope>
75+
</dependency>
76+
<dependency>
77+
<groupId>org.junit.vintage</groupId>
78+
<artifactId>junit-vintage-engine</artifactId>
7479
<scope>test</scope>
7580
</dependency>
7681
<dependency>

core/auth/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,13 @@
7373
</dependency>
7474

7575
<dependency>
76-
<groupId>junit</groupId>
77-
<artifactId>junit</artifactId>
76+
<groupId>org.junit.jupiter</groupId>
77+
<artifactId>junit-jupiter</artifactId>
78+
<scope>test</scope>
79+
</dependency>
80+
<dependency>
81+
<groupId>org.junit.vintage</groupId>
82+
<artifactId>junit-vintage-engine</artifactId>
7883
<scope>test</scope>
7984
</dependency>
8085
<dependency>

core/aws-core/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,13 @@
8585
<scope>test</scope>
8686
</dependency>
8787
<dependency>
88-
<groupId>junit</groupId>
89-
<artifactId>junit</artifactId>
88+
<groupId>org.junit.jupiter</groupId>
89+
<artifactId>junit-jupiter</artifactId>
90+
<scope>test</scope>
91+
</dependency>
92+
<dependency>
93+
<groupId>org.junit.vintage</groupId>
94+
<artifactId>junit-vintage-engine</artifactId>
9095
<scope>test</scope>
9196
</dependency>
9297
<dependency>

core/json-utils/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,13 @@
5757
<version>${awsjavasdk.version}</version>
5858
</dependency>
5959
<dependency>
60-
<groupId>junit</groupId>
61-
<artifactId>junit</artifactId>
60+
<groupId>org.junit.jupiter</groupId>
61+
<artifactId>junit-jupiter</artifactId>
62+
<scope>test</scope>
63+
</dependency>
64+
<dependency>
65+
<groupId>org.junit.vintage</groupId>
66+
<artifactId>junit-vintage-engine</artifactId>
6267
<scope>test</scope>
6368
</dependency>
6469
<dependency>

core/metrics-spi/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,13 @@
3333
<scope>test</scope>
3434
</dependency>
3535
<dependency>
36-
<groupId>junit</groupId>
37-
<artifactId>junit</artifactId>
36+
<groupId>org.junit.jupiter</groupId>
37+
<artifactId>junit-jupiter</artifactId>
38+
<scope>test</scope>
39+
</dependency>
40+
<dependency>
41+
<groupId>org.junit.vintage</groupId>
42+
<artifactId>junit-vintage-engine</artifactId>
3843
<scope>test</scope>
3944
</dependency>
4045
<dependency>

core/protocols/aws-cbor-protocol/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,13 @@
5757
<version>${awsjavasdk.version}</version>
5858
</dependency>
5959
<dependency>
60-
<groupId>junit</groupId>
61-
<artifactId>junit</artifactId>
60+
<groupId>org.junit.jupiter</groupId>
61+
<artifactId>junit-jupiter</artifactId>
62+
<scope>test</scope>
63+
</dependency>
64+
<dependency>
65+
<groupId>org.junit.vintage</groupId>
66+
<artifactId>junit-vintage-engine</artifactId>
6267
<scope>test</scope>
6368
</dependency>
6469
<dependency>

core/protocols/aws-json-protocol/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,13 @@
7272
<version>${awsjavasdk.version}</version>
7373
</dependency>
7474
<dependency>
75-
<groupId>junit</groupId>
76-
<artifactId>junit</artifactId>
75+
<groupId>org.junit.jupiter</groupId>
76+
<artifactId>junit-jupiter</artifactId>
77+
<scope>test</scope>
78+
</dependency>
79+
<dependency>
80+
<groupId>org.junit.vintage</groupId>
81+
<artifactId>junit-vintage-engine</artifactId>
7782
<scope>test</scope>
7883
</dependency>
7984
<dependency>

core/protocols/aws-query-protocol/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,13 @@
6262
<version>${awsjavasdk.version}</version>
6363
</dependency>
6464
<dependency>
65-
<groupId>junit</groupId>
66-
<artifactId>junit</artifactId>
65+
<groupId>org.junit.jupiter</groupId>
66+
<artifactId>junit-jupiter</artifactId>
67+
<scope>test</scope>
68+
</dependency>
69+
<dependency>
70+
<groupId>org.junit.vintage</groupId>
71+
<artifactId>junit-vintage-engine</artifactId>
6772
<scope>test</scope>
6873
</dependency>
6974
<dependency>

core/protocols/aws-xml-protocol/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,13 @@
6767
<version>${awsjavasdk.version}</version>
6868
</dependency>
6969
<dependency>
70-
<groupId>junit</groupId>
71-
<artifactId>junit</artifactId>
70+
<groupId>org.junit.jupiter</groupId>
71+
<artifactId>junit-jupiter</artifactId>
72+
<scope>test</scope>
73+
</dependency>
74+
<dependency>
75+
<groupId>org.junit.vintage</groupId>
76+
<artifactId>junit-vintage-engine</artifactId>
7277
<scope>test</scope>
7378
</dependency>
7479
<dependency>

core/protocols/protocol-core/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,13 @@
5353
<version>${awsjavasdk.version}</version>
5454
</dependency>
5555
<dependency>
56-
<groupId>junit</groupId>
57-
<artifactId>junit</artifactId>
56+
<groupId>org.junit.jupiter</groupId>
57+
<artifactId>junit-jupiter</artifactId>
58+
<scope>test</scope>
59+
</dependency>
60+
<dependency>
61+
<groupId>org.junit.vintage</groupId>
62+
<artifactId>junit-vintage-engine</artifactId>
5863
<scope>test</scope>
5964
</dependency>
6065
<dependency>

core/regions/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,13 @@
6464
<scope>test</scope>
6565
</dependency>
6666
<dependency>
67-
<groupId>junit</groupId>
68-
<artifactId>junit</artifactId>
67+
<groupId>org.junit.jupiter</groupId>
68+
<artifactId>junit-jupiter</artifactId>
69+
<scope>test</scope>
70+
</dependency>
71+
<dependency>
72+
<groupId>org.junit.vintage</groupId>
73+
<artifactId>junit-vintage-engine</artifactId>
6974
<scope>test</scope>
7075
</dependency>
7176
<dependency>

core/sdk-core/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,13 @@
7272
<scope>test</scope>
7373
</dependency>
7474
<dependency>
75-
<groupId>junit</groupId>
76-
<artifactId>junit</artifactId>
75+
<groupId>org.junit.jupiter</groupId>
76+
<artifactId>junit-jupiter</artifactId>
77+
<scope>test</scope>
78+
</dependency>
79+
<dependency>
80+
<groupId>org.junit.vintage</groupId>
81+
<artifactId>junit-vintage-engine</artifactId>
7782
<scope>test</scope>
7883
</dependency>
7984
<dependency>

http-client-spi/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,13 @@
6161
<version>${reactive-streams.version}</version>
6262
</dependency>
6363
<dependency>
64-
<groupId>junit</groupId>
65-
<artifactId>junit</artifactId>
64+
<groupId>org.junit.jupiter</groupId>
65+
<artifactId>junit-jupiter</artifactId>
66+
<scope>test</scope>
67+
</dependency>
68+
<dependency>
69+
<groupId>org.junit.vintage</groupId>
70+
<artifactId>junit-vintage-engine</artifactId>
6671
<scope>test</scope>
6772
</dependency>
6873
<dependency>

http-clients/apache-client/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,13 @@
6464
<scope>test</scope>
6565
</dependency>
6666
<dependency>
67-
<groupId>junit</groupId>
68-
<artifactId>junit</artifactId>
67+
<groupId>org.junit.jupiter</groupId>
68+
<artifactId>junit-jupiter</artifactId>
69+
<scope>test</scope>
70+
</dependency>
71+
<dependency>
72+
<groupId>org.junit.vintage</groupId>
73+
<artifactId>junit-vintage-engine</artifactId>
6974
<scope>test</scope>
7075
</dependency>
7176
<dependency>

0 commit comments

Comments
 (0)