Skip to content

Commit c8bd86f

Browse files
Remove support for JUnit 4 (#77)
* Remove JUnit 4 from dependencies * Remove unnecessary tests * Remove checking for JUnit 4 @test annotation in parser * Rename tests + migrate all to JUnit 5
1 parent ee4e8e2 commit c8bd86f

78 files changed

Lines changed: 817 additions & 1137 deletions

File tree

Some content is hidden

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

lib/build.gradle

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,11 @@ dependencies {
2020
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.7.1'
2121
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.12.5'
2222
implementation 'com.github.javaparser:javaparser-core:3.23.0'
23-
24-
implementation 'junit:junit:4.13.1'
23+
2524
implementation 'org.assertj:assertj-core:3.25.1'
2625
implementation platform('org.junit:junit-bom:5.10.0')
2726
implementation 'org.junit.jupiter:junit-jupiter'
2827
implementation 'org.junit.platform:junit-platform-launcher'
29-
runtimeOnly 'org.junit.vintage:junit-vintage-engine'
3028
runtimeOnly 'org.junit.jupiter:junit-jupiter-engine'
3129

3230
// Add exercise dependencies to runtime classpath

lib/src/main/java/com/exercism/junit/JUnitTestParser.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
88
import com.github.javaparser.ast.body.MethodDeclaration;
99
import com.google.common.collect.ImmutableMap;
10-
import org.junit.Test;
1110

1211
import java.io.File;
1312
import java.io.IOException;
@@ -31,8 +30,7 @@ private void parse(CompilationUnit compilationUnit) {
3130
.orElse("");
3231

3332
for (MethodDeclaration methodDeclaration : compilationUnit.findAll(MethodDeclaration.class)) {
34-
if (!methodDeclaration.isAnnotationPresent(Test.class) &&
35-
!methodDeclaration.isAnnotationPresent(org.junit.jupiter.api.Test.class)) {
33+
if (!methodDeclaration.isAnnotationPresent(org.junit.jupiter.api.Test.class)) {
3634
continue;
3735
}
3836
var methodName = methodDeclaration.getNameAsString();

settings.gradle

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
rootProject.name = "java-test-runner"
22

33
include 'lib'
4-
include 'tests:example-all-fail'
5-
include 'tests:example-empty-file'
6-
include 'tests:example-partial-fail'
7-
include 'tests:example-success'
8-
include 'tests:example-success-java17'
9-
include 'tests:example-success-java21'
10-
include 'tests:example-syntax-error'
11-
include 'tests:example-junit5'
12-
include 'tests:example-v3'
13-
include 'tests:junit4-enclosed'
14-
include 'tests:junit5-nested'
4+
include 'tests:solution-does-not-compile'
5+
include 'tests:solution-file-empty'
6+
include 'tests:solution-passes-all-tests'
7+
include 'tests:solution-passes-no-tests'
8+
include 'tests:solution-passes-some-tests'
9+
include 'tests:solution-uses-java17'
10+
include 'tests:solution-uses-java21'
11+
include 'tests:solution-writes-to-console'
12+
include 'tests:tests-with-task-ids-and-display-names'
13+
include 'tests:tests-with-nested-classes'

tests/example-all-fail/build.gradle

Lines changed: 0 additions & 24 deletions
This file was deleted.

tests/example-all-fail/expected_results.json

Lines changed: 0 additions & 50 deletions
This file was deleted.

tests/example-all-fail/src/test/java/LeapTest.java

Lines changed: 0 additions & 70 deletions
This file was deleted.

tests/example-empty-file/build.gradle

Lines changed: 0 additions & 24 deletions
This file was deleted.

tests/example-empty-file/expected_results.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

tests/example-empty-file/src/test/java/LeapTest.java

Lines changed: 0 additions & 70 deletions
This file was deleted.

tests/example-partial-fail/build.gradle

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)