diff --git a/build.gradle b/build.gradle index 45583039..ac999440 100644 --- a/build.gradle +++ b/build.gradle @@ -89,7 +89,7 @@ subprojects { proj -> // } test { - useTestNG() + useJUnitPlatform() jvmArgs("-Djdk.attach.allowAttachSelf") testLogging.showStandardStreams = true } diff --git a/gradle.properties b/gradle.properties index 527daa45..a3254f03 100644 --- a/gradle.properties +++ b/gradle.properties @@ -41,6 +41,8 @@ jakartaValidationApiVersion=2.0.2 jakartaXmlBindApiVersion=2.3.3 jakartaInjectApiVersion=1.0 junitVersion=4.13 +junitJupiterVersion=5.7.0 +junitJupiterLauncherVersion=1.7.0 jaxbRuntimeVersion=2.3.2 httpclientVersion=4.5.12 logbackVersion=1.2.3 diff --git a/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle b/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle index bf299f55..6d768fec 100644 --- a/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle +++ b/remoting/rico-remoting-server-spring-test/rico-remoting-server-spring-test.gradle @@ -19,7 +19,10 @@ dependencies { api project(':rico-remoting-server-spring') api project(':rico-remoting-client') implementation "org.testng:testng:$testngVersion" - implementation "junit:junit:$junitVersion" + testCompile "org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion" + testRuntimeOnly"org.junit.platform:junit-platform-launcher:$junitJupiterLauncherVersion" + compile "org.junit.jupiter:junit-jupiter:$junitJupiterVersion" + compile "org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion" implementation "org.springframework:spring-web:$springVersion" implementation "org.springframework:spring-context:$springVersion" diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java index d44f7346..e9a454cb 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/dev/rico/server/remoting/test/SpringJUnitControllerTest.java @@ -21,13 +21,22 @@ import dev.rico.internal.server.remoting.test.SpringTestBootstrap; import dev.rico.internal.server.remoting.test.TestClientContext; import org.apiguardian.api.API; -import org.junit.Rule; -import org.junit.rules.ExternalResource; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; + + +import org.junit.jupiter.api.extension.ExtendWith; + + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; +import org.springframework.test.context.junit.jupiter.SpringExtension; + + + import static org.apiguardian.api.API.Status.MAINTAINED; @@ -35,38 +44,38 @@ * Base class for JUnit based controller tests in Spring. This class can be extended to write custom controller tests. * * @see ControllerTest - * @see AbstractJUnit4SpringContextTests + * @see //AbstractJUnit4SpringContextTests * @see ControllerUnderTest * * @author Hendrik Ebbers */ + +@ExtendWith({SpringExtension.class}) @SpringBootTest @ContextConfiguration(classes = SpringTestBootstrap.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @API(since = "0.x", status = MAINTAINED) -public abstract class SpringJUnitControllerTest extends AbstractJUnit4SpringContextTests implements ControllerTest { +public abstract class SpringJUnitControllerTest implements ControllerTest { @Autowired private TestClientContext clientContext; - @Rule - public ExternalResource clientConnector = new ExternalResource() { - @Override - protected void before() throws Throwable { - super.before(); - clientContext.connect().get(); - } - @Override - protected void after() { - super.after(); - try { - clientContext.disconnect().get(); - } catch (Exception e) { - throw new ControllerTestException("Can not disconnect client context!", e); - } + @AfterEach + public void closeClient() throws Exception { + try { + clientContext.disconnect().get(); + } catch (Exception e) { + throw new ControllerTestException("Can not disconnect client context!", e); } - }; + + } + + @BeforeEach + public void connectClient() throws Exception { + + clientContext.connect().get(); + } public ControllerUnderTest createController(final String controllerName) { Assert.requireNonBlank(controllerName, "controllerName"); diff --git a/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java b/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java index 1b5d51ab..990f91da 100644 --- a/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java +++ b/remoting/rico-remoting-server-spring-test/src/main/java/module-info.java @@ -13,5 +13,6 @@ requires spring.boot.test; requires static java.servlet; requires testng; - requires junit; + requires org.junit.jupiter; + } diff --git a/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java b/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java index e6edff70..2243e1e8 100644 --- a/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java +++ b/remoting/rico-remoting-server-spring-test/src/test/java/dev/rico/server/remoting/test/JUnitDemoTest.java @@ -16,9 +16,10 @@ */ package dev.rico.server.remoting.test; -import org.junit.Test; - -import static org.junit.Assert.*; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; public class JUnitDemoTest extends SpringJUnitControllerTest { @@ -68,4 +69,5 @@ public void testInvokeActionAfterDestroy() { fail("Calling an action after destroy should throw an exception!"); } catch (ControllerTestException e) {} } + }