You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2021/01/15 13:19:38 UTC

[maven] branch MNG-7035 created (now f8ba242)

This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a change to branch MNG-7035
in repository https://gitbox.apache.org/repos/asf/maven.git.


      at f8ba242  Upgrade to junit 5

This branch includes the following new commits:

     new 28557be  Migrate all tests to JUnit 4
     new ced5b6d  Avoid calls to fail() when an assertXxx is usable
     new 211631c  Fix problems related to rebase after MNG-6909
     new 6e3f55e  Move the 3 PlexusTestCase classes into a new test support module
     new e016975  Remove redundant container setup
     new 6615319  Use @Ignore for disabled tests
     new 2448995  Remove more unneeded lookups
     new f8ba242  Upgrade to junit 5

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven] 07/08: Remove more unneeded lookups

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MNG-7035
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 24489950174a594f742c9bc19b415d91bc983aa1
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jan 8 14:16:28 2021 +0100

    Remove more unneeded lookups
---
 .../AbstractArtifactComponentTestCase.java         | 26 ++++------------------
 .../artifact/deployer/ArtifactDeployerTest.java    | 10 ---------
 .../artifact/installer/ArtifactInstallerTest.java  | 10 ---------
 .../maven/repository/MirrorProcessorTest.java      | 10 +--------
 .../legacy/DefaultUpdateCheckManagerTest.java      |  7 ++++--
 .../resolver/DefaultArtifactCollectorTest.java     | 17 +++++---------
 .../conflict/AbstractConflictResolverTest.java     |  2 +-
 .../DefaultClasspathTransformationTest.java        |  5 ++++-
 .../metadata/DefaultGraphConflictResolverTest.java |  6 ++---
 .../internal/LifecycleDependencyResolverTest.java  |  8 -------
 .../internal/AbstractRepositoryTestCase.java       | 14 +++---------
 .../internal/DefaultVersionResolverTest.java       | 22 +++---------------
 12 files changed, 29 insertions(+), 108 deletions(-)

diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
index 70b81d7..7ad6719 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
@@ -31,6 +31,7 @@ import java.util.Collections;
 import java.util.List;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
 import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.artifact.factory.ArtifactFactory;
@@ -88,6 +89,9 @@ public abstract class AbstractArtifactComponentTestCase
     @Inject
     LegacySupport legacySupport;
 
+    @Inject @Named( "default" )
+    ArtifactRepositoryLayout repoLayout;
+
     @Before
     public void setUp()
         throws Exception
@@ -101,16 +105,6 @@ public abstract class AbstractArtifactComponentTestCase
         legacySupport.setSession( session );
     }
 
-    @After
-    @Override
-    public void tearDown()
-        throws Exception
-    {
-        release( artifactFactory );
-
-        super.tearDown();
-    }
-
     protected abstract String component();
 
     /**
@@ -127,9 +121,6 @@ public abstract class AbstractArtifactComponentTestCase
 
         f.createNewFile();
 
-        ArtifactRepositoryLayout repoLayout =
-            (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE, "default" );
-
         return artifactRepositoryFactory.createArtifactRepository( "test", "file://" + f.getPath(), repoLayout, null,
                                                                    null );
     }
@@ -146,9 +137,6 @@ public abstract class AbstractArtifactComponentTestCase
 
         File f = new File( getBasedir(), path );
 
-        ArtifactRepositoryLayout repoLayout =
-            (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE, "default" );
-
         return artifactRepositoryFactory.createArtifactRepository( "local", "file://" + f.getPath(), repoLayout, null,
                                                                    null );
     }
@@ -160,9 +148,6 @@ public abstract class AbstractArtifactComponentTestCase
 
         File f = new File( getBasedir(), path );
 
-        ArtifactRepositoryLayout repoLayout =
-            (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE, "default" );
-
         return artifactRepositoryFactory.createArtifactRepository( "test", "file://" + f.getPath(), repoLayout,
                                                                    new ArtifactRepositoryPolicy(),
                                                                    new ArtifactRepositoryPolicy() );
@@ -171,9 +156,6 @@ public abstract class AbstractArtifactComponentTestCase
     protected ArtifactRepository badRemoteRepository()
         throws Exception
     {
-        ArtifactRepositoryLayout repoLayout =
-            (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE, "default" );
-
         return artifactRepositoryFactory.createArtifactRepository( "test", "http://foo.bar/repository", repoLayout,
                                                                    null, null );
     }
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
index 6295a22..e1459d8 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
@@ -42,16 +42,6 @@ public class ArtifactDeployerTest
     @Inject
     private ArtifactDeployer artifactDeployer;
 
-    @Before
-    @Override
-    public void setUp()
-        throws Exception
-    {
-        super.setUp();
-
-        artifactDeployer = (ArtifactDeployer) lookup( ArtifactDeployer.ROLE );
-    }
-
     protected String component()
     {
         return "deployer";
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
index 3e22ffd..7ba6b33 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
@@ -37,16 +37,6 @@ public class ArtifactInstallerTest
     @Inject
     private ArtifactInstaller artifactInstaller;
 
-    @Before
-    @Override
-    public void setUp()
-        throws Exception
-    {
-        super.setUp();
-
-        artifactInstaller = (ArtifactInstaller) lookup( ArtifactInstaller.ROLE );
-    }
-
     protected String component()
     {
         return "installer";
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
index 9d7c7ad..b48bdd6 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
@@ -47,18 +47,10 @@ public class MirrorProcessorTest
 {
     @Inject
     private DefaultMirrorSelector mirrorSelector;
+
     @Inject
     private ArtifactRepositoryFactory repositorySystem;
 
-    @Before
-    public void setUp()
-        throws Exception
-    {
-        super.setUp();
-        mirrorSelector = (DefaultMirrorSelector) lookup( MirrorSelector.class );
-        repositorySystem = lookup( ArtifactRepositoryFactory.class );
-    }
-
     @Test
     public void testExternalURL()
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java
index 4f1bede..fe65393 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java
@@ -21,6 +21,8 @@ package org.apache.maven.repository.legacy;
 
 import java.io.File;
 
+import javax.inject.Inject;
+
 import org.apache.maven.artifact.AbstractArtifactComponentTestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
@@ -42,6 +44,9 @@ public class DefaultUpdateCheckManagerTest
     extends AbstractArtifactComponentTestCase
 {
 
+    @Inject
+    private ArtifactFactory artifactFactory;
+
     DefaultUpdateCheckManager updateCheckManager;
 
     @Override
@@ -233,8 +238,6 @@ public class DefaultUpdateCheckManagerTest
     @Test
     public void testArtifactTouchFileName() throws Exception
     {
-        ArtifactFactory artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
-
         ArtifactRepository localRepository = localRepository();
 
         Artifact a = artifactFactory.createArtifactWithClassifier( "groupdId", "a", "0.0.1-SNAPSHOT", "jar", null );
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
index 80de492..5927030 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
@@ -29,6 +29,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import javax.inject.Inject;
+
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
@@ -52,6 +54,7 @@ import org.codehaus.plexus.PlexusConstants;
 import org.apache.maven.test.PlexusTestCase;
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -67,8 +70,10 @@ import static org.junit.Assert.assertTrue;
 public class DefaultArtifactCollectorTest
     extends PlexusTestCase
 {
+    @Inject
     private LegacyArtifactCollector artifactCollector;
 
+    @Inject
     private ArtifactFactory artifactFactory;
 
     private ArtifactSpec projectArtifact;
@@ -85,22 +90,10 @@ public class DefaultArtifactCollectorTest
         super.setUp();
 
         source = new Source();
-        artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
-        artifactCollector = lookup( LegacyArtifactCollector.class );
 
         projectArtifact = createArtifactSpec( "project", "1.0", null );
     }
 
-    @After
-    @Override
-    public void tearDown()
-        throws Exception
-    {
-        artifactCollector = null;
-        artifactFactory = null;
-        super.tearDown();
-    }
-
     @Test
     @Ignore("works, but we don't fail on cycles presently")
     public void testCircularDependencyNotIncludingCurrentProject()
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
index 1a5eeab..87fde6a 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
@@ -86,7 +86,7 @@ public abstract class AbstractConflictResolverTest
     {
         super.setUp();
 
-        conflictResolver = (ConflictResolver) lookup( ConflictResolver.ROLE, roleHint );
+        conflictResolver = lookup( ConflictResolver.ROLE, roleHint );
 
         a1 = createArtifact( "a", "1.0" );
         a2 = createArtifact( "a", "2.0" );
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
index 0da1be9..10d39bc 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
@@ -15,6 +15,9 @@ package org.apache.maven.repository.metadata;
  * the License.
  */
 
+import javax.inject.Inject;
+import javax.inject.Named;
+
 import org.apache.maven.artifact.ArtifactScopeEnum;
 import org.apache.maven.test.PlexusTestCase;
 import org.junit.Before;
@@ -32,6 +35,7 @@ import static org.junit.Assert.assertNotNull;
 public class DefaultClasspathTransformationTest
 extends PlexusTestCase
 {
+    @Inject
     ClasspathTransformation transform;
 
     MetadataGraph graph;
@@ -46,7 +50,6 @@ extends PlexusTestCase
     public void setUp() throws Exception
     {
         super.setUp();
-        transform = (ClasspathTransformation) lookup( ClasspathTransformation.ROLE, "default" );
 
         graph = new MetadataGraph( 4, 3 );
         /*
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
index cba9491..75663dc 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
@@ -15,6 +15,8 @@ package org.apache.maven.repository.metadata;
  * the License.
  */
 
+import javax.inject.Inject;
+
 import org.apache.maven.artifact.ArtifactScopeEnum;
 import org.apache.maven.test.PlexusTestCase;
 import org.codehaus.plexus.logging.Logger;
@@ -33,8 +35,7 @@ import static org.junit.Assert.assertNotNull;
 public class DefaultGraphConflictResolverTest
 extends PlexusTestCase
 {
-    Logger log;
-
+    @Inject
     GraphConflictResolver resolver;
 
     MetadataGraph graph;
@@ -49,7 +50,6 @@ extends PlexusTestCase
     public void setUp() throws Exception
     {
         super.setUp();
-        resolver = (GraphConflictResolver) lookup( GraphConflictResolver.ROLE, "default" );
 
         /*
          *       v2
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
index 2cd28b2..7689515 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
@@ -48,14 +48,6 @@ public class LifecycleDependencyResolverTest extends AbstractCoreMavenComponentT
         return null;
     }
 
-    @Before
-    public void setUp()
-        throws Exception
-    {
-        super.setUp();
-        resolver = lookup( LifecycleDependencyResolver.class );
-    }
-
     @Test
     public void testCachedReactorProjectDependencies() throws Exception
     {
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
index 54f4f4c..699a172 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
@@ -21,6 +21,8 @@ package org.apache.maven.repository.internal;
 
 import java.net.MalformedURLException;
 
+import javax.inject.Inject;
+
 import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.repository.internal.util.ConsoleRepositoryListener;
 import org.apache.maven.repository.internal.util.ConsoleTransferListener;
@@ -37,6 +39,7 @@ import org.junit.Before;
 public abstract class AbstractRepositoryTestCase
     extends PlexusTestCase
 {
+    @Inject
     protected RepositorySystem system;
 
     protected RepositorySystemSession session;
@@ -47,20 +50,9 @@ public abstract class AbstractRepositoryTestCase
         throws Exception
     {
         super.setUp();
-        system = lookup( RepositorySystem.class );
         session = newMavenRepositorySystemSession( system );
     }
 
-    @After
-    @Override
-    public void tearDown()
-        throws Exception
-    {
-        session = null;
-        system = null;
-        super.tearDown();
-    }
-
     public static RepositorySystemSession newMavenRepositorySystemSession( RepositorySystem system )
     {
         DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
index f02307e..03d8eb5 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
@@ -19,6 +19,8 @@ package org.apache.maven.repository.internal;
  * under the License.
  */
 
+import javax.inject.Inject;
+
 import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.artifact.DefaultArtifact;
 import org.eclipse.aether.impl.VersionResolver;
@@ -33,27 +35,9 @@ import static org.junit.Assert.assertEquals;
 public class DefaultVersionResolverTest
     extends AbstractRepositoryTestCase
 {
+    @Inject
     private DefaultVersionResolver versionResolver;
 
-    @Before
-    @Override
-    public void setUp()
-        throws Exception
-    {
-        super.setUp();
-        // be sure we're testing the right class, i.e. DefaultVersionResolver.class
-        versionResolver = (DefaultVersionResolver) lookup( VersionResolver.class, "default" );
-    }
-
-    @After
-    @Override
-    public void tearDown()
-        throws Exception
-    {
-        versionResolver = null;
-        super.tearDown();
-    }
-
     @Test
     public void testResolveSeparateInstalledClassifiedNonUniqueVersionedArtifacts()
         throws Exception


[maven] 05/08: Remove redundant container setup

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MNG-7035
in repository https://gitbox.apache.org/repos/asf/maven.git

commit e016975f4ae4fa1f9da95a537d93a6c04f8e75fb
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jan 8 14:00:56 2021 +0100

    Remove redundant container setup
---
 .../AbstractArtifactComponentTestCase.java         | 12 ---------
 .../factory/DefaultArtifactFactoryTest.java        | 19 --------------
 .../transform/TransformationManagerTest.java       | 19 --------------
 .../manager/DefaultProfileManagerTest.java         |  8 ------
 .../project/AbstractMavenProjectTestCase.java      | 12 ---------
 .../apache/maven/project/ProjectClasspathTest.java | 12 ---------
 .../repository/LegacyRepositorySystemTest.java     | 30 ----------------------
 .../maven/repository/MirrorProcessorTest.java      | 20 ---------------
 .../repository/legacy/DefaultWagonManagerTest.java | 30 ----------------------
 .../legacy/LegacyRepositorySystemTest.java         | 29 ---------------------
 .../resolver/DefaultArtifactCollectorTest.java     |  8 ------
 .../conflict/AbstractConflictResolverTest.java     | 12 ---------
 .../maven/AbstractCoreMavenComponentTestCase.java  | 19 --------------
 .../src/test/java/org/apache/maven/MavenTest.java  |  9 -------
 .../maven/lifecycle/DefaultLifecyclesTest.java     | 26 -------------------
 .../project/AbstractMavenProjectTestCase.java      | 17 ------------
 .../apache/maven/project/PomConstructionTest.java  | 19 +-------------
 .../project/artifact/MavenMetadataSourceTest.java  | 26 -------------------
 .../internal/DefaultRuntimeInformationTest.java    | 17 ------------
 .../settings/PomConstructionWithSettingsTest.java  | 18 -------------
 .../internal/AbstractRepositoryTestCase.java       |  8 ------
 .../java/org/apache/maven/test/PlexusTestCase.java |  7 +++++
 22 files changed, 8 insertions(+), 369 deletions(-)

diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
index e099f65..70b81d7 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
@@ -88,24 +88,12 @@ public abstract class AbstractArtifactComponentTestCase
     @Inject
     LegacySupport legacySupport;
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
     @Before
     public void setUp()
         throws Exception
     {
         super.setUp();
 
-        ((DefaultPlexusContainer)getContainer())
-                .addPlexusInjector( Collections.emptyList(),
-                        binder ->  binder.requestInjection( this ) );
-
         RepositorySystemSession repoSession = initRepoSession();
         MavenSession session = new MavenSession( getContainer(), repoSession, new DefaultMavenExecutionRequest(),
                                                  new DefaultMavenExecutionResult() );
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
index 14721cd..3a0aa5b 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
@@ -40,25 +40,6 @@ public class DefaultArtifactFactoryTest
     @Inject
     ArtifactFactory factory;
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
-    @Override
-    public void setUp()
-            throws Exception
-    {
-        super.setUp();
-
-        ((DefaultPlexusContainer)getContainer())
-                .addPlexusInjector( Collections.emptyList(),
-                        binder ->  binder.requestInjection( this ) );
-    }
-
     @Test
     public void testPropagationOfSystemScopeRegardlessOfInheritedScope()
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
index f7072f3..78b9504 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
@@ -41,25 +41,6 @@ public class TransformationManagerTest
     @Inject
     ArtifactTransformationManager tm;
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
-    @Override
-    public void setUp()
-            throws Exception
-    {
-        super.setUp();
-
-        ((DefaultPlexusContainer)getContainer())
-                .addPlexusInjector( Collections.emptyList(),
-                        binder ->  binder.requestInjection( this ) );
-    }
-
     @Test
     public void testTransformationManager()
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java b/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
index e5e5410..4999289 100644
--- a/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
@@ -39,14 +39,6 @@ public class DefaultProfileManagerTest
     extends PlexusTestCase
 {
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
     @Test
     public void testShouldActivateDefaultProfile()
         throws Exception
diff --git a/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
index 5694e23..3885380 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -53,24 +53,12 @@ public abstract class AbstractMavenProjectTestCase
     protected RepositorySystem repositorySystem;
 
     @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
-    @Override
     @Before
     public void setUp()
         throws Exception
     {
         super.setUp();
 
-        ((DefaultPlexusContainer)getContainer())
-                .addPlexusInjector( Collections.emptyList(),
-                        binder ->  binder.requestInjection( this ) );
-
         if ( getContainer().hasComponent( ProjectBuilder.class, "test" ) )
         {
             projectBuilder = lookup( ProjectBuilder.class, "test" );
diff --git a/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java b/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
index 79f7a9a..0db4321 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
@@ -46,23 +46,11 @@ public class ProjectClasspathTest
     static final String dir = "projects/scope/";
 
     @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
-    @Override
     public void setUp()
             throws Exception
     {
         super.setUp();
 
-        ((DefaultPlexusContainer)getContainer())
-                .addPlexusInjector( Collections.emptyList(),
-                        binder ->  binder.requestInjection( this ) );
-
         ArtifactResolver resolver = lookup( ArtifactResolver.class, "classpath" );
         DefaultArtifactDescriptorReader pomReader = (DefaultArtifactDescriptorReader)lookup(ArtifactDescriptorReader.class);
         pomReader.setArtifactResolver( resolver );
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
index 251d116..f1ffbb0 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
@@ -63,36 +63,6 @@ public class LegacyRepositorySystemTest
     @Inject
     private ResolutionErrorHandler resolutionErrorHandler;
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
-    @Before
-    @Override
-    public void setUp()
-            throws Exception
-    {
-        super.setUp();
-
-        ((DefaultPlexusContainer)getContainer())
-                .addPlexusInjector( Collections.emptyList(),
-                        binder ->  binder.requestInjection( this ) );
-    }
-
-    @After
-    @Override
-    public void tearDown()
-        throws Exception
-    {
-        repositorySystem = null;
-        resolutionErrorHandler = null;
-        super.tearDown();
-    }
-
     protected List<ArtifactRepository> getRemoteRepositories()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
index 7fc75c3..9d7c7ad 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
@@ -50,14 +50,6 @@ public class MirrorProcessorTest
     @Inject
     private ArtifactRepositoryFactory repositorySystem;
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
     @Before
     public void setUp()
         throws Exception
@@ -67,18 +59,6 @@ public class MirrorProcessorTest
         repositorySystem = lookup( ArtifactRepositoryFactory.class );
     }
 
-    @After
-    @Override
-    public void tearDown()
-        throws Exception
-    {
-        super.setUp();
-
-        ((DefaultPlexusContainer)getContainer())
-                .addPlexusInjector( Collections.emptyList(),
-                        binder ->  binder.requestInjection( this ) );
-    }
-
     @Test
     public void testExternalURL()
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
index 37aa4e7..a0e9f90 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
@@ -79,36 +79,6 @@ public class DefaultWagonManagerTest
     @Inject
     private ArtifactRepositoryFactory artifactRepositoryFactory;
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
-    @Before
-    @Override
-    public void setUp()
-            throws Exception
-    {
-        super.setUp();
-
-        ((DefaultPlexusContainer)getContainer())
-                .addPlexusInjector( Collections.emptyList(),
-                        binder ->  binder.requestInjection( this ) );
-    }
-
-    @After
-    @Override
-    public void tearDown()
-        throws Exception
-    {
-        wagonManager = null;
-        artifactFactory = null;
-        super.tearDown();
-    }
-
     @Test
     public void testUnnecessaryRepositoryLookup()
         throws Exception
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
index 0499e80..1f4d69a 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
@@ -47,35 +47,6 @@ public class LegacyRepositorySystemTest
     @Inject
     private RepositorySystem repositorySystem;
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
-    @Before
-    @Override
-    public void setUp()
-            throws Exception
-    {
-        super.setUp();
-
-        ((DefaultPlexusContainer)getContainer())
-                .addPlexusInjector( Collections.emptyList(),
-                        binder ->  binder.requestInjection( this ) );
-    }
-
-    @After
-    @Override
-    public void tearDown()
-        throws Exception
-    {
-        repositorySystem = null;
-        super.tearDown();
-    }
-
     @Test
     public void testThatLocalRepositoryWithSpacesIsProperlyHandled()
         throws Exception
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
index ba84b82..0cad366 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
@@ -77,14 +77,6 @@ public class DefaultArtifactCollectorTest
 
     private static final String GROUP_ID = "test";
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
     @Before
     @Override
     public void setUp()
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
index f60773f..1a5eeab 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
@@ -76,14 +76,6 @@ public abstract class AbstractConflictResolverTest
 
     // TestCase methods -------------------------------------------------------
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
     /*
      * @see junit.framework.TestCase#setUp()
      */
@@ -94,10 +86,6 @@ public abstract class AbstractConflictResolverTest
     {
         super.setUp();
 
-        ((DefaultPlexusContainer)getContainer())
-                .addPlexusInjector( Collections.emptyList(),
-                        binder ->  binder.requestInjection( this ) );
-
         conflictResolver = (ConflictResolver) lookup( ConflictResolver.ROLE, roleHint );
 
         a1 = createArtifact( "a", "1.0" );
diff --git a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
index edee9ca..7ee91a3 100644
--- a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
@@ -66,25 +66,6 @@ public abstract class AbstractCoreMavenComponentTestCase
     @Inject
     protected org.apache.maven.project.ProjectBuilder projectBuilder;
 
-    @Override
-    @Before
-    public void setUp()
-            throws Exception
-    {
-        super.setUp();
-        getContainer();
-    }
-
-    @Override
-    protected synchronized void setupContainer()
-    {
-        super.setupContainer();
-
-        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
-                binder -> binder.requestInjection( this ) );
-    }
-
-
     abstract protected String getProjectsDirectory();
 
     protected File getProject( String name )
diff --git a/maven-core/src/test/java/org/apache/maven/MavenTest.java b/maven-core/src/test/java/org/apache/maven/MavenTest.java
index 79841c9..4023f12 100644
--- a/maven-core/src/test/java/org/apache/maven/MavenTest.java
+++ b/maven-core/src/test/java/org/apache/maven/MavenTest.java
@@ -32,15 +32,6 @@ public class MavenTest
     @Inject
     private ExceptionHandler exceptionHandler;
 
-    @Override
-    protected synchronized void setupContainer()
-    {
-        super.setupContainer();
-
-        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
-                binder -> binder.requestInjection( this ) );
-    }
-
     protected String getProjectsDirectory()
     {
         return "src/test/projects/lifecycle-executor";
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
index 02ac4dc..c9a2887 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
@@ -45,32 +45,6 @@ public class DefaultLifecyclesTest
     @Inject
     private DefaultLifecycles defaultLifeCycles;
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration configuration )
-    {
-        super.customizeContainerConfiguration( configuration );
-        configuration.setAutoWiring( true );
-        configuration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
-    @Override
-    @Before
-    public void setUp()
-        throws Exception
-    {
-        super.setUp();
-        getContainer();
-    }
-
-    @Override
-    protected synchronized void setupContainer()
-    {
-        super.setupContainer();
-
-        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
-                binder -> binder.requestInjection( this ) );
-    }
-
     @Test
     public void testDefaultLifecycles()
     {
diff --git a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
index d93c0f3..b2c1bd0 100644
--- a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -49,23 +49,6 @@ public abstract class AbstractMavenProjectTestCase
     @Inject
     protected RepositorySystem repositorySystem;
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
-    @Override
-    protected synchronized void setupContainer()
-    {
-        super.setupContainer();
-
-        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
-                binder -> binder.requestInjection( this ) );
-    }
-
     @Before
     public void setUp()
         throws Exception
diff --git a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
index 0f02d80..09b5be5 100644
--- a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
@@ -75,28 +75,11 @@ public class PomConstructionTest
 
     private File testDirectory;
 
-    @Override
-    protected synchronized void setupContainer()
-    {
-        super.setupContainer();
-
-        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
-                binder -> binder.requestInjection( this ) );
-    }
-
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
     @Before
     public void setUp()
         throws Exception
     {
-        getContainer();
+        super.setUp();
         testDirectory = new File( getBasedir(), BASE_POM_DIR );
         new File( getBasedir(), BASE_MIXIN_DIR );
     }
diff --git a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
index f79b596..1b92442 100644
--- a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
@@ -37,32 +37,6 @@ public class MavenMetadataSourceTest
     @Inject
     private RepositorySystem repositorySystem;
 
-    @Override
-    protected synchronized void setupContainer()
-    {
-        super.setupContainer();
-
-        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
-                binder -> binder.requestInjection( this ) );
-    }
-
-    @Override
-    @Before
-    public void setUp()
-        throws Exception
-    {
-        super.setUp();
-        getContainer();
-    }
-
-    @After
-    public void tearDown()
-        throws Exception
-    {
-        repositorySystem = null;
-        super.tearDown();
-    }
-
     @Test
     public void testShouldNotCarryExclusionsOverFromDependencyToDependency()
         throws Exception
diff --git a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
index 22dbe89..c86af5c 100644
--- a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
+++ b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
@@ -50,23 +50,6 @@ public class DefaultRuntimeInformationTest
         configuration.setClassPathScanning(PlexusConstants.SCANNING_INDEX);
     }
 
-    @Override
-    @Before
-    public void setUp() throws Exception
-    {
-        super.setUp();
-        getContainer();
-    }
-
-    @Override
-    protected synchronized void setupContainer()
-    {
-        super.setupContainer();
-
-        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
-                binder -> binder.requestInjection( this ) );
-    }
-
     @Test
     public void testGetMavenVersion()
     {
diff --git a/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java b/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
index ae61c63..82fbf93 100644
--- a/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
+++ b/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
@@ -65,29 +65,11 @@ public class PomConstructionWithSettingsTest
 
     private File testDirectory;
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
-    @Override
-    protected synchronized void setupContainer()
-    {
-        super.setupContainer();
-
-        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
-                binder -> binder.requestInjection( this ) );
-    }
-
     @Before
     public void setUp()
         throws Exception
     {
         super.setUp();
-        getContainer();
         testDirectory = new File( getBasedir(), BASE_POM_DIR );
     }
 
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
index d872e16..54f4f4c 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
@@ -41,14 +41,6 @@ public abstract class AbstractRepositoryTestCase
 
     protected RepositorySystemSession session;
 
-    @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-        super.customizeContainerConfiguration( containerConfiguration );
-        containerConfiguration.setAutoWiring( true );
-        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-    }
-
     @Before
     @Override
     public void setUp()
diff --git a/maven-test-support/src/main/java/org/apache/maven/test/PlexusTestCase.java b/maven-test-support/src/main/java/org/apache/maven/test/PlexusTestCase.java
index 0187ce1..7f53fd1 100644
--- a/maven-test-support/src/main/java/org/apache/maven/test/PlexusTestCase.java
+++ b/maven-test-support/src/main/java/org/apache/maven/test/PlexusTestCase.java
@@ -37,10 +37,12 @@ package org.apache.maven.test;
 
 import java.io.File;
 import java.io.InputStream;
+import java.util.Collections;
 
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
+import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.PlexusContainerException;
 import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
@@ -73,6 +75,9 @@ public abstract class PlexusTestCase
             throws Exception
     {
         basedir = getBasedir();
+
+        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
+                binder -> binder.requestInjection( this ) );
     }
 
     @SuppressWarnings( "ResultOfMethodCallIgnored" )
@@ -143,6 +148,8 @@ public abstract class PlexusTestCase
      */
     protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
     {
+        containerConfiguration.setAutoWiring( true );
+        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
     protected void customizeContext( Context context )


[maven] 06/08: Use @Ignore for disabled tests

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MNG-7035
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 6615319d08ba67b89d276759b748059aa45bd744
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jan 8 14:06:23 2021 +0100

    Use @Ignore for disabled tests
---
 .../resolver/DefaultArtifactCollectorTest.java     | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
index 0cad366..80de492 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
@@ -101,8 +101,9 @@ public class DefaultArtifactCollectorTest
         super.tearDown();
     }
 
-    // works, but we don't fail on cycles presently
-    public void disabledtestCircularDependencyNotIncludingCurrentProject()
+    @Test
+    @Ignore("works, but we don't fail on cycles presently")
+    public void testCircularDependencyNotIncludingCurrentProject()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
         ArtifactSpec a = createArtifactSpec( "a", "1.0" );
@@ -113,8 +114,9 @@ public class DefaultArtifactCollectorTest
                 () -> collect( a ) );
     }
 
-    // works, but we don't fail on cycles presently
-    public void disabledtestCircularDependencyIncludingCurrentProject()
+    @Test
+    @Ignore("works, but we don't fail on cycles presently")
+    public void testCircularDependencyIncludingCurrentProject()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
         ArtifactSpec a = createArtifactSpec( "a", "1.0" );
@@ -164,7 +166,9 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "1.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
     }
 
-    public void disabledtestResolveCorrectDependenciesWhenDifferentDependenciesOnNewest()
+    @Test
+    @Ignore
+    public void testResolveCorrectDependenciesWhenDifferentDependenciesOnNewest()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
         // TODO use newest conflict resolver
@@ -183,7 +187,9 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "2.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
     }
 
-    public void disabledtestResolveCorrectDependenciesWhenDifferentDependenciesOnNewestVersionReplaced()
+    @Test
+    @Ignore
+    public void testResolveCorrectDependenciesWhenDifferentDependenciesOnNewestVersionReplaced()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
         // TODO use newest conflict resolver
@@ -671,7 +677,9 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "1.0", artifact.getVersion() );
     }
 
-    public void disabledtestOptionalNotTransitiveButVersionIsInfluential()
+    @Test
+    @Ignore
+    public void testOptionalNotTransitiveButVersionIsInfluential()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
         ArtifactSpec a = createArtifactSpec( "a", "1.0" );


[maven] 01/08: Migrate all tests to JUnit 4

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MNG-7035
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 28557be5e9b07596222bb91cda75e31ea90ba2f9
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Nov 26 11:47:09 2020 +0100

    Migrate all tests to JUnit 4
---
 .../apache/maven/settings/GlobalSettingsTest.java  |  10 +-
 .../apache/maven/artifact/ArtifactUtilsTest.java   |   8 +-
 .../apache/maven/artifact/DefaultArtifactTest.java |  23 +-
 .../artifact/versioning/ComparableVersionIT.java   |   6 +-
 .../artifact/versioning/ComparableVersionTest.java |  17 +-
 .../versioning/DefaultArtifactVersionTest.java     |  15 +-
 .../artifact/versioning/VersionRangeTest.java      |  20 +-
 .../building/DefaultProblemCollectorTest.java      |   5 +-
 .../apache/maven/building/DefaultProblemTest.java  |   6 +-
 .../org/apache/maven/building/FileSourceTest.java  |   4 +-
 .../building/ProblemCollectorFactoryTest.java      |   6 +-
 .../apache/maven/building/StringSourceTest.java    |   4 +-
 .../org/apache/maven/building/UrlSourceTest.java   |   4 +-
 .../test/java/org/apache/maven/PlexusTestCase.java | 317 ++++++++++++++++++++
 .../AbstractArtifactComponentTestCase.java         |  36 ++-
 .../artifact/deployer/ArtifactDeployerTest.java    |  16 ++
 .../factory/DefaultArtifactFactoryTest.java        |  17 +-
 .../artifact/installer/ArtifactInstallerTest.java  |  13 +
 .../repository/MavenArtifactRepositoryTest.java    |   7 +-
 .../resolver/ArtifactResolutionExceptionTest.java  |   6 +-
 .../artifact/resolver/ArtifactResolverTest.java    |  20 +-
 .../resolver/DefaultArtifactResolverTest.java      |  13 +-
 .../resolver/filter/AndArtifactFilterTest.java     |   8 +-
 .../resolver/filter/FilterHashEqualsTest.java      |   6 +-
 .../resolver/filter/OrArtifactFilterTest.java      |   8 +-
 .../resolver/filter/ScopeArtifactFilterTest.java   |  10 +-
 .../transform/TransformationManagerTest.java       |   9 +-
 .../manager/DefaultProfileManagerTest.java         |  17 +-
 .../project/AbstractMavenProjectTestCase.java      |  21 +-
 .../org/apache/maven/project/ModelUtilsTest.java   |  24 +-
 .../apache/maven/project/ProjectClasspathTest.java |   6 +
 .../inheritance/t00/ProjectInheritanceTest.java    |   4 +
 .../inheritance/t01/ProjectInheritanceTest.java    |   4 +
 .../inheritance/t02/ProjectInheritanceTest.java    |   5 +
 .../inheritance/t03/ProjectInheritanceTest.java    |   4 +
 .../inheritance/t04/ProjectInheritanceTest.java    |   6 +
 .../inheritance/t05/ProjectInheritanceTest.java    |   6 +
 .../inheritance/t06/ProjectInheritanceTest.java    |   6 +
 .../inheritance/t07/ProjectInheritanceTest.java    |   7 +
 .../inheritance/t08/ProjectInheritanceTest.java    |   6 +
 .../inheritance/t09/ProjectInheritanceTest.java    |   8 +
 .../inheritance/t10/ProjectInheritanceTest.java    |   6 +
 .../inheritance/t11/ProjectInheritanceTest.java    |   5 +
 .../inheritance/t12/ProjectInheritanceTest.java    |   5 +
 .../inheritance/t12scm/ProjectInheritanceTest.java |   5 +
 .../project/path/DefaultPathTranslatorTest.java    |   7 +-
 .../repository/LegacyRepositorySystemTest.java     |  26 +-
 .../maven/repository/MirrorProcessorTest.java      |  34 ++-
 .../legacy/DefaultUpdateCheckManagerTest.java      |  19 +-
 .../repository/legacy/DefaultWagonManagerTest.java |  35 ++-
 .../legacy/LegacyRepositorySystemTest.java         |  22 +-
 .../resolver/DefaultArtifactCollectorTest.java     |  63 +++-
 .../conflict/AbstractConflictResolverTest.java     |  20 +-
 .../conflict/FarthestConflictResolverTest.java     |   5 +
 .../conflict/NearestConflictResolverTest.java      |   5 +
 .../conflict/NewestConflictResolverTest.java       |   5 +
 .../conflict/OldestConflictResolverTest.java       |   5 +
 .../DefaultClasspathTransformationTest.java        |  19 +-
 .../DefaultGraphConflictResolutionPolicyTest.java  |  25 +-
 .../metadata/DefaultGraphConflictResolverTest.java |  18 +-
 .../repository/metadata/TestMetadataSource.java    |   7 +-
 .../maven/AbstractCoreMavenComponentTestCase.java  |   7 +-
 .../java/org/apache/maven/DefaultMavenTest.java    |  45 +--
 .../maven/MavenLifecycleParticipantTest.java       |   6 +
 .../src/test/java/org/apache/maven/MavenTest.java  |   6 +-
 .../test/java/org/apache/maven/PlexusTestCase.java | 317 ++++++++++++++++++++
 .../maven/ProjectDependenciesResolverTest.java     |  11 +-
 .../artifact/handler/ArtifactHandlerTest.java      |   6 +-
 .../configuration/DefaultBeanConfiguratorTest.java |  21 +-
 .../DefaultMavenExecutionRequestPopulatorTest.java |   2 +
 .../scope/internal/MojoExecutionScopeTest.java     |  11 +-
 .../graph/DefaultProjectDependencyGraphTest.java   |  17 +-
 .../maven/lifecycle/DefaultLifecyclesTest.java     |  28 +-
 .../lifecycle/LifecycleExecutorSubModulesTest.java |   6 +
 .../maven/lifecycle/LifecycleExecutorTest.java     |  24 +-
 .../maven/lifecycle/MavenExecutionPlanTest.java    |  12 +-
 .../internal/BuildListCalculatorTest.java          |   9 +-
 .../lifecycle/internal/BuilderCommonTest.java      |  12 +-
 .../internal/ConcurrencyDependencyGraphTest.java   |  15 +-
 .../internal/LifecycleDependencyResolverTest.java  |  13 +
 .../LifecycleExecutionPlanCalculatorTest.java      |   4 +
 .../LifecycleTaskSegmentCalculatorImplTest.java    |   9 +-
 .../lifecycle/internal/PhaseRecorderTest.java      |   9 +-
 .../ConcurrencyDependencyGraphTest.java            |  11 +-
 .../multithreaded/ThreadOutputMuxerTest.java       |  31 +-
 .../stub/ProjectDependencyGraphStubTest.java       |  24 +-
 .../org/apache/maven/plugin/PluginManagerTest.java |  19 +-
 .../maven/plugin/PluginParameterExceptionTest.java |   8 +-
 .../PluginParameterExpressionEvaluatorTest.java    |  32 ++-
 .../plugin/internal/DefaultLegacySupportTest.java  |   9 +-
 .../project/AbstractMavenProjectTestCase.java      |  11 +-
 .../project/DefaultMavenProjectBuilderTest.java    |  25 +-
 .../project/ExtensionDescriptorBuilderTest.java    |  29 +-
 .../org/apache/maven/project/MavenProjectTest.java |  18 ++
 .../apache/maven/project/PomConstructionTest.java  | 157 +++++++++-
 .../apache/maven/project/ProjectBuilderTest.java   |  31 +-
 .../maven/project/ProjectModelResolverTest.java    |  20 +-
 .../artifact/DefaultMavenMetadataCacheTest.java    |  17 +-
 .../artifact/DefaultProjectArtifactsCacheTest.java |  15 +-
 .../project/artifact/MavenMetadataSourceTest.java  |  15 +-
 .../canonical/CanonicalProjectBuilderTest.java     |   5 +
 .../internal/DefaultRuntimeInformationTest.java    |  16 +-
 .../settings/PomConstructionWithSettingsTest.java  |  28 +-
 .../apache/maven/settings/SettingsUtilsTest.java   |  10 +-
 .../toolchain/RequirementMatcherFactoryTest.java   |  14 +-
 .../maven/cli/CLIManagerDocumentationTest.java     |   5 +-
 .../apache/maven/cli/CLIReportingUtilsTest.java    |   6 +-
 .../model/building/ComplexActivationTest.java      |  10 +-
 .../building/DefaultModelBuilderFactoryTest.java   |   6 +-
 .../maven/model/building/FileModelSourceTest.java  |   7 +-
 .../model/building/FileToRawModelMergerTest.java   |   6 +-
 .../model/building/SimpleProblemCollector.java     |   1 -
 .../DefaultInheritanceAssemblerTest.java           |  43 +--
 .../AbstractModelInterpolatorTest.java             |  23 +-
 .../interpolation/MavenBuildTimestampTest.java     |   6 +-
 .../StringSearchModelInterpolatorTest.java         |  21 +-
 .../maven/model/merge/MavenModelMergerTest.java    |   6 +-
 .../maven/model/path/DefaultUrlNormalizerTest.java |   4 +-
 .../activation/AbstractProfileActivatorTest.java   |  20 +-
 .../activation/JdkVersionProfileActivatorTest.java |   8 +
 .../activation/PropertyProfileActivatorTest.java   |  11 +
 .../validation/DefaultModelValidatorTest.java      |  81 +++++-
 .../org/apache/maven/model/ActivationFileTest.java |  11 +-
 .../org/apache/maven/model/ActivationOSTest.java   |  11 +-
 .../apache/maven/model/ActivationPropertyTest.java |  11 +-
 .../org/apache/maven/model/ActivationTest.java     |  11 +-
 .../java/org/apache/maven/model/BuildTest.java     |  11 +-
 .../org/apache/maven/model/CiManagementTest.java   |  11 +-
 .../org/apache/maven/model/ContributorTest.java    |  11 +-
 .../maven/model/DependencyManagementTest.java      |  11 +-
 .../org/apache/maven/model/DependencyTest.java     |  11 +-
 .../maven/model/DeploymentRepositoryTest.java      |  11 +-
 .../java/org/apache/maven/model/DeveloperTest.java |  11 +-
 .../maven/model/DistributionManagementTest.java    |  11 +-
 .../java/org/apache/maven/model/ExclusionTest.java |  11 +-
 .../java/org/apache/maven/model/ExtensionTest.java |  11 +-
 .../apache/maven/model/IssueManagementTest.java    |  11 +-
 .../java/org/apache/maven/model/LicenseTest.java   |  11 +-
 .../org/apache/maven/model/MailingListTest.java    |  11 +-
 .../java/org/apache/maven/model/ModelTest.java     |  11 +-
 .../java/org/apache/maven/model/NotifierTest.java  |  11 +-
 .../org/apache/maven/model/OrganizationTest.java   |  11 +-
 .../java/org/apache/maven/model/ParentTest.java    |  11 +-
 .../maven/model/PluginConfigurationTest.java       |  11 +-
 .../apache/maven/model/PluginContainerTest.java    |  11 +-
 .../apache/maven/model/PluginExecutionTest.java    |  11 +-
 .../apache/maven/model/PluginManagementTest.java   |  11 +-
 .../java/org/apache/maven/model/PluginTest.java    |  11 +-
 .../org/apache/maven/model/PrerequisitesTest.java  |  11 +-
 .../java/org/apache/maven/model/ProfileTest.java   |  11 +-
 .../org/apache/maven/model/RelocationTest.java     |  11 +-
 .../org/apache/maven/model/ReportPluginTest.java   |  11 +-
 .../java/org/apache/maven/model/ReportSetTest.java |  11 +-
 .../java/org/apache/maven/model/ReportingTest.java |  11 +-
 .../apache/maven/model/RepositoryPolicyTest.java   |  11 +-
 .../org/apache/maven/model/RepositoryTest.java     |  11 +-
 .../java/org/apache/maven/model/ResourceTest.java  |  11 +-
 .../test/java/org/apache/maven/model/ScmTest.java  |  11 +-
 .../test/java/org/apache/maven/model/SiteTest.java |  11 +-
 .../descriptor/PluginDescriptorBuilderTest.java    |   6 +-
 .../test/java/org/apache/maven/PlexusTestCase.java | 318 +++++++++++++++++++++
 .../internal/AbstractRepositoryTestCase.java       |  10 +-
 .../DefaultArtifactDescriptorReaderTest.java       |  10 +-
 .../internal/DefaultModelResolverTest.java         |  16 ++
 .../internal/DefaultVersionResolverTest.java       |  15 +-
 .../internal/MavenRepositorySystemUtilsTest.java   |   7 +-
 .../internal/RemoteSnapshotMetadataTest.java       |   4 +-
 .../repository/internal/RepositorySystemTest.java  |  20 +-
 .../DefaultSettingsBuilderFactoryTest.java         |   6 +-
 .../validation/DefaultSettingsValidatorTest.java   |  29 +-
 170 files changed, 2751 insertions(+), 570 deletions(-)

diff --git a/apache-maven/src/test/java/org/apache/maven/settings/GlobalSettingsTest.java b/apache-maven/src/test/java/org/apache/maven/settings/GlobalSettingsTest.java
index 2d34076..394db3e 100644
--- a/apache-maven/src/test/java/org/apache/maven/settings/GlobalSettingsTest.java
+++ b/apache-maven/src/test/java/org/apache/maven/settings/GlobalSettingsTest.java
@@ -19,24 +19,26 @@ package org.apache.maven.settings;
  * under the License.
  */
 
-import junit.framework.TestCase;
-import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
-
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStreamReader;
 import java.io.Reader;
 import java.nio.charset.StandardCharsets;
 
+import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
+
 /**
  * Tests that the global settings.xml shipped with the distribution is in good state.
  *
  * @author Benjamin Bentmann
  */
 public class GlobalSettingsTest
-    extends TestCase
 {
 
+    @Test
     public void testValidGlobalSettings()
         throws Exception
     {
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java
index 333f636..c631aad 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java
@@ -24,8 +24,10 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.maven.artifact.versioning.VersionRange;
+import org.junit.Test;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 /**
  * Tests {@link ArtifactUtils}.
@@ -33,7 +35,6 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ArtifactUtilsTest
-    extends TestCase
 {
 
     private Artifact newArtifact( String aid )
@@ -41,6 +42,7 @@ public class ArtifactUtilsTest
         return new DefaultArtifact( "group", aid, VersionRange.createFromVersion( "1.0" ), "test", "jar", "tests", null );
     }
 
+    @Test
     public void testIsSnapshot()
     {
         assertEquals( false, ArtifactUtils.isSnapshot( null ) );
@@ -52,6 +54,7 @@ public class ArtifactUtilsTest
         assertEquals( false, ArtifactUtils.isSnapshot( "1.2.3-20090413X094722-2"));
     }
 
+    @Test
     public void testToSnapshotVersion()
     {
         assertEquals( "1.2.3", ArtifactUtils.toSnapshotVersion( "1.2.3" ) );
@@ -63,6 +66,7 @@ public class ArtifactUtilsTest
     /**
      * Tests that the ordering of the map resembles the ordering of the input collection of artifacts.
      */
+    @Test
     public void testArtifactMapByVersionlessIdOrdering()
         throws Exception
     {
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java
index fbd0119..144f753 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java
@@ -19,13 +19,15 @@ package org.apache.maven.artifact;
  * under the License.
  */
 
-import junit.framework.TestCase;
-
 import org.apache.maven.artifact.handler.ArtifactHandlerMock;
 import org.apache.maven.artifact.versioning.VersionRange;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 public class DefaultArtifactTest
-    extends TestCase
 {
 
     private DefaultArtifact artifact;
@@ -43,10 +45,10 @@ public class DefaultArtifactTest
 
     private ArtifactHandlerMock artifactHandler;
 
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
-        super.setUp();
         artifactHandler = new ArtifactHandlerMock();
         versionRange = VersionRange.createFromVersion( version );
         artifact = new DefaultArtifact( groupId, artifactId, versionRange, scope, type, classifier, artifactHandler );
@@ -55,6 +57,7 @@ public class DefaultArtifactTest
         snapshotArtifact = new DefaultArtifact( groupId, artifactId, snapshotVersionRange, scope, type, classifier, artifactHandler );
     }
 
+    @Test
     public void testGetVersionReturnsResolvedVersionOnSnapshot()
     {
         assertEquals( snapshotResolvedVersion, snapshotArtifact.getVersion() );
@@ -65,53 +68,62 @@ public class DefaultArtifactTest
         assertEquals( snapshotSpecVersion, snapshotArtifact.getBaseVersion() );
     }
 
+    @Test
     public void testGetDependencyConflictId()
     {
         assertEquals( groupId + ":" + artifactId + ":" + type + ":" + classifier, artifact.getDependencyConflictId() );
     }
 
+    @Test
     public void testGetDependencyConflictIdNullGroupId()
     {
         artifact.setGroupId( null );
         assertEquals( null + ":" + artifactId + ":" + type + ":" + classifier, artifact.getDependencyConflictId() );
     }
 
+    @Test
     public void testGetDependencyConflictIdNullClassifier()
     {
         artifact = new DefaultArtifact( groupId, artifactId, versionRange, scope, type, null, artifactHandler );
         assertEquals( groupId + ":" + artifactId + ":" + type, artifact.getDependencyConflictId() );
     }
 
+    @Test
     public void testGetDependencyConflictIdNullScope()
     {
         artifact.setScope( null );
         assertEquals( groupId + ":" + artifactId + ":" + type + ":" + classifier, artifact.getDependencyConflictId() );
     }
 
+    @Test
     public void testToString()
     {
         assertEquals( groupId + ":" + artifactId + ":" + type + ":" + classifier + ":" + version + ":" + scope,
                       artifact.toString() );
     }
 
+    @Test
     public void testToStringNullGroupId()
     {
         artifact.setGroupId( null );
         assertEquals( artifactId + ":" + type + ":" + classifier + ":" + version + ":" + scope, artifact.toString() );
     }
 
+    @Test
     public void testToStringNullClassifier()
     {
         artifact = new DefaultArtifact( groupId, artifactId, versionRange, scope, type, null, artifactHandler );
         assertEquals( groupId + ":" + artifactId + ":" + type + ":" + version + ":" + scope, artifact.toString() );
     }
 
+    @Test
     public void testToStringNullScope()
     {
         artifact.setScope( null );
         assertEquals( groupId + ":" + artifactId + ":" + type + ":" + classifier + ":" + version, artifact.toString() );
     }
 
+    @Test
     public void testComparisonByVersion()
     {
         Artifact artifact1 = new DefaultArtifact( groupId, artifactId, VersionRange.createFromVersion( "5.0" ), scope,
@@ -128,6 +140,7 @@ public class DefaultArtifactTest
         assertTrue( artifact1.compareTo( artifact ) == 0 );
     }
 
+    @Test
     public void testNonResolvedVersionRangeConsistentlyYieldsNullVersions()
         throws Exception
     {
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java
index 394b7f0..326ff57 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java
@@ -19,9 +19,6 @@ package org.apache.maven.artifact.versioning;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
 import java.io.IOException;
 import java.nio.file.FileVisitResult;
 import java.nio.file.Files;
@@ -33,6 +30,9 @@ import java.util.regex.Pattern;
 
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
 public class ComparableVersionIT
 {
 
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java
index 97fb46d..95d8f50 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java
@@ -21,7 +21,10 @@ package org.apache.maven.artifact.versioning;
 
 import java.util.Locale;
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Test ComparableVersion.
@@ -30,7 +33,6 @@ import junit.framework.TestCase;
  */
 @SuppressWarnings( "unchecked" )
 public class ComparableVersionTest
-    extends TestCase
 {
     private Comparable newComparable( String version )
     {
@@ -101,16 +103,19 @@ public class ComparableVersionTest
         assertTrue( "expected " + v2 + " > " + v1, c2.compareTo( c1 ) > 0 );
     }
 
+    @Test
     public void testVersionsQualifier()
     {
         checkVersionsOrder( VERSIONS_QUALIFIER );
     }
 
+    @Test
     public void testVersionsNumber()
     {
         checkVersionsOrder( VERSIONS_NUMBER );
     }
 
+    @Test
     public void testVersionsEqual()
     {
         newComparable( "1.0-alpha" );
@@ -164,6 +169,7 @@ public class ComparableVersionTest
         checkVersionsEqual( "1m3", "1MILESTONE3" );
     }
 
+    @Test
     public void testVersionComparing()
     {
         checkVersionsOrder( "1", "2" );
@@ -202,6 +208,7 @@ public class ComparableVersionTest
      * see Netbeans issues <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=240845">240845</a> and
      * <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=226100">226100</a>
      */
+    @Test
     public void testMng5568()
     {
         String a = "6.1.0";
@@ -216,6 +223,7 @@ public class ComparableVersionTest
     /**
      * Test <a href="https://jira.apache.org/jira/browse/MNG-6572">MNG-6572</a> optimization.
      */
+    @Test
     public void testMng6572()
     {
         String a = "20190126.230843"; // resembles a SNAPSHOT
@@ -235,6 +243,7 @@ public class ComparableVersionTest
      * Test all versions are equal when starting with many leading zeroes regardless of string length
      * (related to MNG-6572 optimization)
      */
+    @Test
     public void testVersionEqualWithLeadingZeroes()
     {
         // versions with string lengths from 1 to 19
@@ -267,6 +276,7 @@ public class ComparableVersionTest
      * Test all "0" versions are equal when starting with many leading zeroes regardless of string length
      * (related to MNG-6572 optimization)
      */
+    @Test
     public void testVersionZeroEqualWithLeadingZeroes()
     {
         // versions with string lengths from 1 to 19
@@ -299,6 +309,7 @@ public class ComparableVersionTest
      * Test <a href="https://issues.apache.org/jira/browse/MNG-6964">MNG-6964</a> edge cases
      * for qualifiers that start with "-0.", which was showing A == C and B == C but A &lt; B.
      */
+    @Test
     public void testMng6964()
     {
         String a = "1-0.alpha";
@@ -310,6 +321,7 @@ public class ComparableVersionTest
         checkVersionsOrder( a, b ); // Should still be true
     }
 
+    @Test
     public void testLocaleIndependent()
     {
         Locale orig = Locale.getDefault();
@@ -328,6 +340,7 @@ public class ComparableVersionTest
         }
     }
 
+    @Test
     public void testReuse()
     {
         ComparableVersion c1 = new ComparableVersion( "1" );
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
index fc5a274..59072d4 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.artifact.versioning;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Test DefaultArtifactVersion.
@@ -27,7 +31,6 @@ import junit.framework.TestCase;
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  */
 public class DefaultArtifactVersionTest
-    extends TestCase
 {
     private ArtifactVersion newArtifactVersion( String version )
     {
@@ -50,6 +53,7 @@ public class DefaultArtifactVersionTest
         assertEquals( "check " + version + " string value", version, artifactVersion.toString() );
     }
 
+    @Test
     public void testVersionParsing()
     {
         checkVersionParsing( "1", 1, 0, 0, 0, null );
@@ -87,6 +91,7 @@ public class DefaultArtifactVersionTest
         checkVersionParsing( "1.2.3-200705301630", 1, 2, 3, 0, "200705301630" );
     }
 
+    @Test
     public void testVersionComparing()
     {
         assertVersionEqual( "1", "1" );
@@ -134,6 +139,7 @@ public class DefaultArtifactVersionTest
         assertVersionOlder( "2.0.0.v200706041905-7C78EK9E_EkMNfNOd2d8qq", "2.0.0.v200706041906-7C78EK9E_EkMNfNOd2d8qq" );
     }
 
+    @Test
     public void testVersionSnapshotComparing()
     {
         assertVersionEqual( "1-SNAPSHOT", "1-SNAPSHOT" );
@@ -168,6 +174,7 @@ public class DefaultArtifactVersionTest
         assertVersionOlder( "2.0.1-xyz-SNAPSHOT", "2.0.1-123-SNAPSHOT" );
     }
 
+    @Test
     public void testSnapshotVsReleases()
     {
         assertVersionOlder( "1.0-RC1", "1.0-SNAPSHOT" );
@@ -175,6 +182,7 @@ public class DefaultArtifactVersionTest
         assertVersionOlder( "1.0-rc-1", "1.0-SNAPSHOT" );
     }
 
+    @Test
     public void testHashCode()
     {
         ArtifactVersion v1 = newArtifactVersion( "1" );
@@ -183,16 +191,19 @@ public class DefaultArtifactVersionTest
         assertEquals( v1.hashCode(), v2.hashCode() );
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( newArtifactVersion( "1" ).equals( null ) );
     }
 
+    @Test
     public void testEqualsTypeSafe()
     {
         assertFalse( newArtifactVersion( "1" ).equals( "non-an-artifact-version-instance" ) );
     }
 
+    @Test
     public void testNonNumericVersionRepresentationReturnsANumberFormatException()
     {
         try
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
index 2cf0fec..7e6f5f4 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
@@ -21,9 +21,15 @@ package org.apache.maven.artifact.versioning;
 
 import java.util.List;
 
-import junit.framework.TestCase;
-
 import org.apache.maven.artifact.Artifact;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 /**
  * Tests version range construction.
@@ -31,7 +37,6 @@ import org.apache.maven.artifact.Artifact;
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  */
 public class VersionRangeTest
-    extends TestCase
 {
     private static final String CHECK_NUM_RESTRICTIONS = "check number of restrictions";
 
@@ -49,6 +54,7 @@ public class VersionRangeTest
 
     private static final String CHECK_SELECTED_VERSION = "check selected version";
 
+    @Test
     public void testRange()
         throws InvalidVersionSpecificationException, OverConstrainedVersionException
     {
@@ -154,6 +160,7 @@ public class VersionRangeTest
         assertTrue( range.containsVersion( new DefaultArtifactVersion( "5.0.9.0" ) ) );
     }
 
+    @Test
     public void testInvalidRanges()
     {
         checkInvalidRange( "(1.0)" );
@@ -172,6 +179,7 @@ public class VersionRangeTest
         checkInvalidRange( "(1.1,1.2],[1.0,1.1)" );
     }
 
+    @Test
     public void testIntersections()
         throws InvalidVersionSpecificationException
     {
@@ -654,6 +662,7 @@ public class VersionRangeTest
         assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
     }
 
+    @Test
     public void testReleaseRangeBoundsContainsSnapshots()
         throws InvalidVersionSpecificationException
     {
@@ -664,6 +673,7 @@ public class VersionRangeTest
         assertFalse( range.containsVersion( new DefaultArtifactVersion( "1.0-SNAPSHOT" ) ) );
     }
 
+    @Test
     public void testSnapshotRangeBoundsCanContainSnapshots()
         throws InvalidVersionSpecificationException
     {
@@ -678,6 +688,7 @@ public class VersionRangeTest
         assertTrue( range.containsVersion( new DefaultArtifactVersion( "1.1-SNAPSHOT" ) ) );
     }
 
+    @Test
     public void testSnapshotSoftVersionCanContainSnapshot()
         throws InvalidVersionSpecificationException
     {
@@ -699,6 +710,7 @@ public class VersionRangeTest
         }
     }
 
+    @Test
     public void testContains() throws InvalidVersionSpecificationException
     {
         ArtifactVersion actualVersion = new DefaultArtifactVersion( "2.0.5" );
@@ -723,11 +735,13 @@ public class VersionRangeTest
         return vr.containsVersion( actualVersion );
     }
 
+    @Test
     public void testOrder0()
     {
         // assertTrue( new DefaultArtifactVersion( "1.0-alpha10" ).compareTo( new DefaultArtifactVersion( "1.0-alpha1" ) ) > 0 );
     }
 
+    @Test
     public void testCache()
         throws InvalidVersionSpecificationException
     {
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java
index 57ddcfa..0e5b20f 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java
@@ -19,11 +19,12 @@ package org.apache.maven.building;
  * under the License.
  */
 
-import static org.junit.Assert.*;
-
 import org.apache.maven.building.Problem.Severity;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 public class DefaultProblemCollectorTest
 {
 
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemTest.java
index 1615fc3..d67128e 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemTest.java
@@ -19,12 +19,12 @@ package org.apache.maven.building;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-
 import org.apache.maven.building.Problem.Severity;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+
 public class DefaultProblemTest
 {
 
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java
index 40ab495..40e4808 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java
@@ -19,12 +19,12 @@ package org.apache.maven.building;
  * under the License.
  */
 
-import org.junit.Test;
-
 import java.io.File;
 import java.io.InputStream;
 import java.util.Scanner;
 
+import org.junit.Test;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/ProblemCollectorFactoryTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/ProblemCollectorFactoryTest.java
index 2fdcbb7..2ca0b37 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/ProblemCollectorFactoryTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/ProblemCollectorFactoryTest.java
@@ -19,13 +19,13 @@ package org.apache.maven.building;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
-
 import java.util.Collections;
 
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+
 public class ProblemCollectorFactoryTest
 {
 
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/StringSourceTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/StringSourceTest.java
index 6d9a671..0c8531a 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/StringSourceTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/StringSourceTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.building;
  * under the License.
  */
 
-import org.junit.Test;
-
 import java.io.InputStream;
 import java.util.Scanner;
 
+import org.junit.Test;
+
 import static org.junit.Assert.assertEquals;
 
 public class StringSourceTest
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java
index 00f3a68..fab547a 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java
@@ -19,13 +19,13 @@ package org.apache.maven.building;
  * under the License.
  */
 
-import org.junit.Test;
-
 import java.io.File;
 import java.io.InputStream;
 import java.net.URL;
 import java.util.Scanner;
 
+import org.junit.Test;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
diff --git a/maven-compat/src/test/java/org/apache/maven/PlexusTestCase.java b/maven-compat/src/test/java/org/apache/maven/PlexusTestCase.java
new file mode 100644
index 0000000..d3801b8
--- /dev/null
+++ b/maven-compat/src/test/java/org/apache/maven/PlexusTestCase.java
@@ -0,0 +1,317 @@
+package org.apache.maven;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Copyright 2001-2006 Codehaus Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.File;
+import java.io.InputStream;
+
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.PlexusContainerException;
+import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.DefaultContext;
+import org.junit.After;
+import org.junit.Before;
+
+/**
+ * This is a slightly modified version of the original plexus class
+ * available at https://raw.githubusercontent.com/codehaus-plexus/plexus-containers/master/plexus-container-default/src/main/java/org/codehaus/plexus/PlexusTestCase.java
+ * in order to migrate the tests to JUnit 4.
+ *
+ * @author Jason van Zyl
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
+ * @author <a href="mailto:michal@codehaus.org">Michal Maczka</a>
+ * @author Guillaume Nodet
+ */
+public abstract class PlexusTestCase
+{
+    private PlexusContainer container;
+
+    private static String basedir;
+
+    @Before
+    public void setUp()
+            throws Exception
+    {
+        basedir = getBasedir();
+    }
+
+    @SuppressWarnings("ResultOfMethodCallIgnored")
+    protected void setupContainer()
+    {
+        // ----------------------------------------------------------------------------
+        // Context Setup
+        // ----------------------------------------------------------------------------
+
+        DefaultContext context = new DefaultContext();
+
+        context.put( "basedir", getBasedir() );
+
+        customizeContext( context );
+
+        boolean hasPlexusHome = context.contains( "plexus.home" );
+
+        if ( !hasPlexusHome )
+        {
+            File f = getTestFile( "target/plexus-home" );
+
+            if ( !f.isDirectory() )
+            {
+                f.mkdir();
+            }
+
+            context.put( "plexus.home", f.getAbsolutePath() );
+        }
+
+        // ----------------------------------------------------------------------------
+        // Configuration
+        // ----------------------------------------------------------------------------
+
+        String config = getCustomConfigurationName();
+
+        ContainerConfiguration containerConfiguration = new DefaultContainerConfiguration()
+                .setName( "test" )
+                .setContext( context.getContextData() );
+
+        if ( config != null )
+        {
+            containerConfiguration.setContainerConfiguration( config );
+        }
+        else
+        {
+            String resource = getConfigurationName( null );
+
+            containerConfiguration.setContainerConfiguration( resource );
+        }
+
+        customizeContainerConfiguration( containerConfiguration );
+
+        try
+        {
+            container = new DefaultPlexusContainer( containerConfiguration );
+        }
+        catch ( PlexusContainerException e )
+        {
+            throw new IllegalArgumentException( "Failed to create plexus container.", e );
+        }
+    }
+
+    /**
+     * Allow custom test case implementations do augment the default container configuration before
+     * executing tests.
+     *
+     * @param containerConfiguration {@link ContainerConfiguration}.
+     */
+    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
+    {
+    }
+
+    protected void customizeContext( Context context )
+    {
+    }
+
+    protected PlexusConfiguration customizeComponentConfiguration()
+    {
+        return null;
+    }
+
+    @After
+    public void tearDown()
+            throws Exception
+    {
+        if ( container != null )
+        {
+            container.dispose();
+
+            container = null;
+        }
+    }
+
+    protected PlexusContainer getContainer()
+    {
+        if ( container == null )
+        {
+            setupContainer();
+        }
+
+        return container;
+    }
+
+    protected InputStream getConfiguration()
+            throws Exception
+    {
+        return getConfiguration( null );
+    }
+
+    protected InputStream getConfiguration( String subname )
+            throws Exception
+    {
+        return getResourceAsStream( getConfigurationName( subname ) );
+    }
+
+    protected String getCustomConfigurationName()
+    {
+        return null;
+    }
+
+    /**
+     * Allow the retrieval of a container configuration that is based on the name
+     * of the test class being run. So if you have a test class called org.foo.FunTest, then
+     * this will produce a resource name of org/foo/FunTest.xml which would be used to
+     * configure the Plexus container before running your test.
+     *
+     * @param subname the subname
+     * @return A configruation name
+     */
+    protected String getConfigurationName( String subname )
+    {
+        return getClass().getName().replace( '.', '/' ) + ".xml";
+    }
+
+    protected InputStream getResourceAsStream( String resource )
+    {
+        return getClass().getResourceAsStream( resource );
+    }
+
+    protected ClassLoader getClassLoader()
+    {
+        return getClass().getClassLoader();
+    }
+
+    // ----------------------------------------------------------------------
+    // Container access
+    // ----------------------------------------------------------------------
+
+    @SuppressWarnings("unchecked")
+    protected <T> T lookup( String componentKey )
+            throws ComponentLookupException
+    {
+        return (T) getContainer().lookup( componentKey );
+    }
+
+    @SuppressWarnings("unchecked")
+    protected <T> T lookup( String role,
+                            String roleHint )
+            throws ComponentLookupException
+    {
+        return (T) getContainer().lookup( role, roleHint );
+    }
+
+    protected <T> T lookup( Class<T> componentClass )
+            throws ComponentLookupException
+    {
+        return getContainer().lookup( componentClass );
+    }
+
+    protected <T> T lookup( Class<T> componentClass, String roleHint )
+            throws ComponentLookupException
+    {
+        return getContainer().lookup( componentClass, roleHint );
+    }
+
+    protected void release( Object component )
+            throws ComponentLifecycleException
+    {
+        getContainer().release( component );
+    }
+
+    // ----------------------------------------------------------------------
+    // Helper methods for sub classes
+    // ----------------------------------------------------------------------
+
+    public static File getTestFile( String path )
+    {
+        return new File( getBasedir(), path );
+    }
+
+    public static File getTestFile( String basedir,
+                                    String path )
+    {
+        File basedirFile = new File( basedir );
+
+        if ( !basedirFile.isAbsolute() )
+        {
+            basedirFile = getTestFile( basedir );
+        }
+
+        return new File( basedirFile, path );
+    }
+
+    public static String getTestPath( String path )
+    {
+        return getTestFile( path ).getAbsolutePath();
+    }
+
+    public static String getTestPath( String basedir,
+                                      String path )
+    {
+        return getTestFile( basedir, path ).getAbsolutePath();
+    }
+
+    public static String getBasedir()
+    {
+        if ( basedir != null )
+        {
+            return basedir;
+        }
+
+        basedir = System.getProperty( "basedir" );
+
+        if ( basedir == null )
+        {
+            basedir = new File( "" ).getAbsolutePath();
+        }
+
+        return basedir;
+    }
+
+    public String getTestConfiguration()
+    {
+        return getTestConfiguration( getClass() );
+    }
+
+    public static String getTestConfiguration( Class<?> clazz )
+    {
+        String s = clazz.getName().replace( '.', '/' );
+
+        return s.substring( 0, s.indexOf( "$" ) ) + ".xml";
+    }
+}
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
index 3c0ce13..6c4540c 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
@@ -19,6 +19,20 @@ package org.apache.maven.artifact;
  * under the License.
  */
 
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import org.apache.maven.PlexusTestCase;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
@@ -31,7 +45,6 @@ import org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.collection.DependencyGraphTransformer;
@@ -54,18 +67,10 @@ import org.eclipse.aether.util.graph.transformer.NearestVersionSelector;
 import org.eclipse.aether.util.graph.transformer.SimpleOptionalitySelector;
 import org.eclipse.aether.util.graph.traverser.FatArtifactTraverser;
 import org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy;
+import org.junit.After;
+import org.junit.Before;
 
-import javax.inject.Inject;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.nio.charset.StandardCharsets;
-import java.security.MessageDigest;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
+import static org.junit.Assert.fail;
 
 /**
  * @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
@@ -90,8 +95,8 @@ public abstract class AbstractArtifactComponentTestCase
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
-    @Override
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
         super.setUp();
@@ -107,8 +112,9 @@ public abstract class AbstractArtifactComponentTestCase
         legacySupport.setSession( session );
     }
 
+    @After
     @Override
-    protected void tearDown()
+    public void tearDown()
         throws Exception
     {
         release( artifactFactory );
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
index 30b1ab3..6295a22 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
@@ -25,6 +25,11 @@ import org.apache.maven.artifact.AbstractArtifactComponentTestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.codehaus.plexus.util.FileUtils;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import javax.inject.Inject;
 
@@ -37,11 +42,22 @@ public class ArtifactDeployerTest
     @Inject
     private ArtifactDeployer artifactDeployer;
 
+    @Before
+    @Override
+    public void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        artifactDeployer = (ArtifactDeployer) lookup( ArtifactDeployer.ROLE );
+    }
+
     protected String component()
     {
         return "deployer";
     }
 
+    @Test
     public void testArtifactInstallation()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
index cee9f5a..f9de70c 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
@@ -19,19 +19,19 @@ package org.apache.maven.artifact.factory;
  * under the License.
  */
 
+import java.util.Collections;
+
+import javax.inject.Inject;
+
+import org.apache.maven.PlexusTestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.execution.DefaultMavenExecutionRequest;
-import org.apache.maven.execution.DefaultMavenExecutionResult;
-import org.apache.maven.execution.MavenSession;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
-import org.eclipse.aether.RepositorySystemSession;
+import org.junit.Test;
 
-import javax.inject.Inject;
-import java.util.Collections;
+import static org.junit.Assert.assertEquals;
 
 public class DefaultArtifactFactoryTest
     extends PlexusTestCase
@@ -49,7 +49,7 @@ public class DefaultArtifactFactoryTest
     }
 
     @Override
-    protected void setUp()
+    public void setUp()
             throws Exception
     {
         super.setUp();
@@ -59,6 +59,7 @@ public class DefaultArtifactFactoryTest
                         binder ->  binder.requestInjection( this ) );
     }
 
+    @Test
     public void testPropagationOfSystemScopeRegardlessOfInheritedScope()
     {
         Artifact artifact = factory.createDependencyArtifact( "test-grp", "test-artifact", VersionRange.createFromVersion("1.0"), "type", null, "system", "provided" );
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
index df519b3..3e22ffd 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
@@ -23,6 +23,8 @@ import java.io.File;
 
 import org.apache.maven.artifact.AbstractArtifactComponentTestCase;
 import org.apache.maven.artifact.Artifact;
+import org.junit.Before;
+import org.junit.Test;
 
 import javax.inject.Inject;
 
@@ -35,11 +37,22 @@ public class ArtifactInstallerTest
     @Inject
     private ArtifactInstaller artifactInstaller;
 
+    @Before
+    @Override
+    public void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        artifactInstaller = (ArtifactInstaller) lookup( ArtifactInstaller.ROLE );
+    }
+
     protected String component()
     {
         return "installer";
     }
 
+    @Test
     public void testArtifactInstallation()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/repository/MavenArtifactRepositoryTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/repository/MavenArtifactRepositoryTest.java
index 533f304..686b22e 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/repository/MavenArtifactRepositoryTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/repository/MavenArtifactRepositoryTest.java
@@ -20,10 +20,12 @@ package org.apache.maven.artifact.repository;
  */
 
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 public class MavenArtifactRepositoryTest
-    extends TestCase
 {
     private static class MavenArtifactRepositorySubclass extends MavenArtifactRepository
     {
@@ -41,6 +43,7 @@ public class MavenArtifactRepositoryTest
         }
     }
 
+    @Test
     public void testHashCodeEquals()
     {
         MavenArtifactRepositorySubclass r1 = new MavenArtifactRepositorySubclass( "foo" );
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolutionExceptionTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolutionExceptionTest.java
index 8b75149..f86751b 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolutionExceptionTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolutionExceptionTest.java
@@ -22,7 +22,9 @@ package org.apache.maven.artifact.resolver;
 import java.util.Arrays;
 import java.util.List;
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * Test the artifact resolution exception message
@@ -30,10 +32,10 @@ import junit.framework.TestCase;
  * @author Mauro Talevi
  */
 public class ArtifactResolutionExceptionTest
-    extends TestCase
 {
     private static final String LS = System.lineSeparator();
 
+    @Test
     public void testMissingArtifactMessageFormat()
     {
         String message = "Missing artifact";
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
index 00c1344..68cb8d8 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
@@ -35,6 +35,13 @@ import org.apache.maven.artifact.metadata.ResolutionGroup;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import javax.inject.Inject;
 
@@ -55,8 +62,9 @@ public class ArtifactResolverTest
 
     private Artifact projectArtifact;
 
+    @Before
     @Override
-    protected void setUp()
+    public void setUp()
         throws Exception
     {
         super.setUp();
@@ -64,8 +72,9 @@ public class ArtifactResolverTest
         projectArtifact = createLocalArtifact( "project", "3.0" );
     }
 
+    @After
     @Override
-    protected void tearDown()
+    public void tearDown()
         throws Exception
     {
         projectArtifact = null;
@@ -78,6 +87,7 @@ public class ArtifactResolverTest
         return "resolver";
     }
 
+    @Test
     public void testResolutionOfASingleArtifactWhereTheArtifactIsPresentInTheLocalRepository()
         throws Exception
     {
@@ -88,6 +98,7 @@ public class ArtifactResolverTest
         assertLocalArtifactPresent( a );
     }
 
+    @Test
     public void testResolutionOfASingleArtifactWhereTheArtifactIsNotPresentLocallyAndMustBeRetrievedFromTheRemoteRepository()
         throws Exception
     {
@@ -105,6 +116,7 @@ public class ArtifactResolverTest
         return super.createArtifact( groupId, artifactId, version, type );
     }
 
+    @Test
     public void testTransitiveResolutionWhereAllArtifactsArePresentInTheLocalRepository()
         throws Exception
     {
@@ -127,6 +139,7 @@ public class ArtifactResolverTest
         assertLocalArtifactPresent( h );
     }
 
+    @Test
     public void testTransitiveResolutionWhereAllArtifactsAreNotPresentInTheLocalRepositoryAndMustBeRetrievedFromTheRemoteRepository()
         throws Exception
     {
@@ -151,6 +164,7 @@ public class ArtifactResolverTest
         assertLocalArtifactPresent( j );
     }
 
+    @Test
     public void testResolutionFailureWhenArtifactNotPresentInRemoteRepository()
         throws Exception
     {
@@ -167,6 +181,7 @@ public class ArtifactResolverTest
         }
     }
 
+    @Test
     public void testResolutionOfAnArtifactWhereOneRemoteRepositoryIsBadButOneIsGood()
         throws Exception
     {
@@ -182,6 +197,7 @@ public class ArtifactResolverTest
         assertLocalArtifactPresent( l );
     }
 
+    @Test
     public void testTransitiveResolutionOrder()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java
index 9e221ee..6e4926b 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java
@@ -24,6 +24,11 @@ import java.util.Collections;
 import org.apache.maven.artifact.AbstractArtifactComponentTestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.resolver.DefaultArtifactResolver.DaemonThreadCreator;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
 
 import javax.inject.Inject;
 
@@ -35,16 +40,18 @@ public class DefaultArtifactResolverTest
 
     private Artifact projectArtifact;
 
+    @Before
     @Override
-    protected void setUp()
+    public void setUp()
         throws Exception
     {
         super.setUp();
         projectArtifact = createLocalArtifact( "project", "3.0" );
     }
 
+    @After
     @Override
-    protected void tearDown()
+    public void tearDown()
         throws Exception
     {
         projectArtifact = null;
@@ -57,6 +64,7 @@ public class DefaultArtifactResolverTest
         return "resolver";
     }
 
+    @Test
     public void testMNG4738()
         throws Exception
     {
@@ -102,6 +110,7 @@ public class DefaultArtifactResolverTest
         assertTrue( "Could not find ThreadGroup: " + DaemonThreadCreator.THREADGROUP_NAME, seen );
     }
 
+    @Test
     public void testLookup()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java
index 50517f4..1c42a2e 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java
@@ -21,7 +21,11 @@ package org.apache.maven.artifact.resolver.filter;
 
 import java.util.Arrays;
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@link AndArtifactFilter}.
@@ -29,7 +33,6 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class AndArtifactFilterTest
-    extends TestCase
 {
 
     private ArtifactFilter newSubFilter()
@@ -37,6 +40,7 @@ public class AndArtifactFilterTest
         return artifact -> false;
     }
 
+    @Test
     public void testEquals()
     {
         AndArtifactFilter filter1 = new AndArtifactFilter();
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/FilterHashEqualsTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/FilterHashEqualsTest.java
index fb46566..e33a1e4 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/FilterHashEqualsTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/FilterHashEqualsTest.java
@@ -22,15 +22,17 @@ package org.apache.maven.artifact.resolver.filter;
 import java.util.Arrays;
 import java.util.List;
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author Igor Fedorenko
  */
 public class FilterHashEqualsTest
-    extends TestCase
 {
 
+    @Test
     public void testIncludesExcludesArtifactFilter()
     {
         List<String> patterns = Arrays.asList( "c", "d", "e" );
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java
index 5971cc3..85488ee 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java
@@ -21,7 +21,11 @@ package org.apache.maven.artifact.resolver.filter;
 
 import java.util.Arrays;
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@link OrArtifactFilter}.
@@ -29,7 +33,6 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class OrArtifactFilterTest
-    extends TestCase
 {
 
     private ArtifactFilter newSubFilter()
@@ -37,6 +40,7 @@ public class OrArtifactFilterTest
         return artifact -> false;
     }
 
+    @Test
     public void testEquals()
     {
         OrArtifactFilter filter1 = new OrArtifactFilter();
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilterTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilterTest.java
index 1a65eca..985f90b 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilterTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilterTest.java
@@ -21,8 +21,10 @@ package org.apache.maven.artifact.resolver.filter;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DefaultArtifact;
+import org.junit.Test;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@link ScopeArtifactFilter}.
@@ -30,7 +32,6 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ScopeArtifactFilterTest
-    extends TestCase
 {
 
     private Artifact newArtifact( String scope )
@@ -38,6 +39,7 @@ public class ScopeArtifactFilterTest
         return new DefaultArtifact( "g", "a", "1.0", scope, "jar", "", null );
     }
 
+    @Test
     public void testInclude_Compile()
     {
         ScopeArtifactFilter filter = new ScopeArtifactFilter( Artifact.SCOPE_COMPILE );
@@ -49,6 +51,7 @@ public class ScopeArtifactFilterTest
         assertFalse( filter.include( newArtifact( Artifact.SCOPE_TEST ) ) );
     }
 
+    @Test
     public void testInclude_CompilePlusRuntime()
     {
         ScopeArtifactFilter filter = new ScopeArtifactFilter( Artifact.SCOPE_COMPILE_PLUS_RUNTIME );
@@ -60,6 +63,7 @@ public class ScopeArtifactFilterTest
         assertFalse( filter.include( newArtifact( Artifact.SCOPE_TEST ) ) );
     }
 
+    @Test
     public void testInclude_Runtime()
     {
         ScopeArtifactFilter filter = new ScopeArtifactFilter( Artifact.SCOPE_RUNTIME );
@@ -71,6 +75,7 @@ public class ScopeArtifactFilterTest
         assertFalse( filter.include( newArtifact( Artifact.SCOPE_TEST ) ) );
     }
 
+    @Test
     public void testInclude_RuntimePlusSystem()
     {
         ScopeArtifactFilter filter = new ScopeArtifactFilter( Artifact.SCOPE_RUNTIME_PLUS_SYSTEM );
@@ -82,6 +87,7 @@ public class ScopeArtifactFilterTest
         assertFalse( filter.include( newArtifact( Artifact.SCOPE_TEST ) ) );
     }
 
+    @Test
     public void testInclude_Test()
     {
         ScopeArtifactFilter filter = new ScopeArtifactFilter( Artifact.SCOPE_TEST );
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
index ff0d3bb..887ae05 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
@@ -26,7 +26,11 @@ import org.apache.maven.repository.legacy.resolver.transform.SnapshotTransformat
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import javax.inject.Inject;
 
@@ -46,7 +50,7 @@ public class TransformationManagerTest
     }
 
     @Override
-    protected void setUp()
+    public void setUp()
             throws Exception
     {
         super.setUp();
@@ -56,6 +60,7 @@ public class TransformationManagerTest
                         binder ->  binder.requestInjection( this ) );
     }
 
+    @Test
     public void testTransformationManager()
     {
         List<ArtifactTransformation> tms = tm.getArtifactTransformations();
diff --git a/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java b/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
index 6b8caab..3951ccf 100644
--- a/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
@@ -19,23 +19,21 @@ package org.apache.maven.profiles.manager;
  * under the License.
  */
 
-import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.maven.execution.DefaultMavenExecutionRequest;
-import org.apache.maven.execution.DefaultMavenExecutionResult;
-import org.apache.maven.execution.MavenSession;
+import org.apache.maven.PlexusTestCase;
 import org.apache.maven.model.Activation;
 import org.apache.maven.model.ActivationProperty;
 import org.apache.maven.model.Profile;
 import org.apache.maven.profiles.DefaultProfileManager;
 import org.apache.maven.profiles.ProfileManager;
 import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
-import org.eclipse.aether.RepositorySystemSession;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 public class DefaultProfileManagerTest
     extends PlexusTestCase
@@ -49,6 +47,7 @@ public class DefaultProfileManagerTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
+    @Test
     public void testShouldActivateDefaultProfile()
         throws Exception
     {
@@ -84,6 +83,7 @@ public class DefaultProfileManagerTest
         assertEquals( "defaultActivated", ( (Profile) active.get( 0 ) ).getId() );
     }
 
+    @Test
     public void testShouldNotActivateDefaultProfile()
         throws Exception
     {
@@ -123,6 +123,7 @@ public class DefaultProfileManagerTest
     }
 
 
+    @Test
     public void testShouldNotActivateReversalOfPresentSystemProperty()
         throws Exception
     {
@@ -150,6 +151,7 @@ public class DefaultProfileManagerTest
         assertEquals( 0, active.size() );
     }
 
+    @Test
     public void testShouldOverrideAndActivateInactiveProfile()
         throws Exception
     {
@@ -180,6 +182,7 @@ public class DefaultProfileManagerTest
         assertEquals( "syspropActivated", ( (Profile) active.get( 0 ) ).getId() );
     }
 
+    @Test
     public void testShouldOverrideAndDeactivateActiveProfile()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
index d05aa8f..002ae55 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -23,11 +23,11 @@ import java.net.URL;
 import java.util.Arrays;
 import java.util.Collections;
 
+import javax.inject.Inject;
+
+import org.apache.maven.PlexusTestCase;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.execution.DefaultMavenExecutionRequest;
-import org.apache.maven.execution.DefaultMavenExecutionResult;
-import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.building.ModelBuildingException;
 import org.apache.maven.model.building.ModelProblem;
 import org.apache.maven.repository.RepositorySystem;
@@ -35,11 +35,11 @@ import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositorySystemSession;
+import org.junit.After;
+import org.junit.Before;
 
-import javax.inject.Inject;
+import static org.junit.Assert.fail;
 
 /**
  * @author Jason van Zyl
@@ -61,8 +61,9 @@ public abstract class AbstractMavenProjectTestCase
     }
 
     @Override
-    protected void setUp()
-            throws Exception
+    @Before
+    public void setUp()
+        throws Exception
     {
         super.setUp();
 
@@ -81,8 +82,8 @@ public abstract class AbstractMavenProjectTestCase
         }
     }
 
-    @Override
-    protected void tearDown()
+    @After
+    public void tearDown()
         throws Exception
     {
         projectBuilder = null;
diff --git a/maven-compat/src/test/java/org/apache/maven/project/ModelUtilsTest.java b/maven-compat/src/test/java/org/apache/maven/project/ModelUtilsTest.java
index 402ae74..d67259c 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/ModelUtilsTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/ModelUtilsTest.java
@@ -26,8 +26,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import junit.framework.TestCase;
-
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Plugin;
@@ -36,11 +34,17 @@ import org.apache.maven.model.PluginExecution;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
 
 public class ModelUtilsTest
-    extends TestCase
 {
 
+    @Test
     public void testShouldUseMainPluginDependencyVersionOverManagedDepVersion()
     {
         Plugin mgtPlugin = createPlugin( "group", "artifact", "1", Collections.EMPTY_MAP );
@@ -68,6 +72,7 @@ public class ModelUtilsTest
         return dep;
     }
 
+    @Test
     public void testShouldNotInheritPluginWithInheritanceSetToFalse()
     {
         PluginContainer parent = new PluginContainer();
@@ -108,6 +113,7 @@ public class ModelUtilsTest
      *   X -&gt; Y -&gt; A -&gt; B -&gt; C -&gt; D -&gt; E -&gt; F
      * </pre>
      */
+    @Test
     public void testShouldPreserveChildOrderingOfPluginsAfterParentMerge()
     {
         PluginContainer parent = new PluginContainer();
@@ -176,6 +182,7 @@ public class ModelUtilsTest
         return plugin;
     }
 
+    @Test
     public void testShouldInheritOnePluginWithExecution()
     {
         Plugin parent = new Plugin();
@@ -198,6 +205,7 @@ public class ModelUtilsTest
         assertEquals( 1, child.getExecutions().size() );
     }
 
+    @Test
     public void testShouldMergeInheritedPluginHavingExecutionWithLocalPlugin()
     {
         Plugin parent = new Plugin();
@@ -225,6 +233,7 @@ public class ModelUtilsTest
         assertEquals( 2, child.getExecutions().size() );
     }
 
+    @Test
     public void testShouldMergeOnePluginWithInheritExecutionWithoutDuplicatingPluginInList()
     {
         Plugin parent = new Plugin();
@@ -259,6 +268,7 @@ public class ModelUtilsTest
         assertEquals( 1, plugin.getExecutions().size() );
     }
 
+    @Test
     public void testShouldMergePluginWithDifferentExecutionFromParentWithoutDuplicatingPluginInList()
     {
         Plugin parent = new Plugin();
@@ -299,6 +309,7 @@ public class ModelUtilsTest
         assertEquals( 2, plugin.getExecutions().size() );
     }
 
+    @Test
     public void testShouldNOTMergeInheritedPluginHavingInheritEqualFalse()
     {
         Plugin parent = new Plugin();
@@ -326,6 +337,7 @@ public class ModelUtilsTest
      * Verifies MNG-1499: The order of the merged list should be the plugins specified by the parent followed by the
      * child list.
      */
+    @Test
     public void testShouldKeepOriginalPluginOrdering()
     {
         Plugin parentPlugin1 = new Plugin();
@@ -390,6 +402,7 @@ public class ModelUtilsTest
     /**
      * Verifies MNG-1499: The ordering of plugin executions should also be in the specified order.
      */
+    @Test
     public void testShouldKeepOriginalPluginExecutionOrdering()
     {
         Plugin parent = new Plugin();
@@ -439,6 +452,7 @@ public class ModelUtilsTest
         assertEquals( dep.getManagementKey(), dep2.getManagementKey() );
     }
 
+    @Test
     public void testShouldOverwritePluginConfigurationSubItemsByDefault()
         throws XmlPullParserException, IOException
     {
@@ -465,6 +479,7 @@ public class ModelUtilsTest
         assertEquals( "three", item.getValue() );
     }
 
+    @Test
     public void testShouldMergePluginConfigurationSubItemsWithMergeAttributeSet()
         throws XmlPullParserException, IOException
     {
@@ -496,6 +511,7 @@ public class ModelUtilsTest
         assertEquals( expected, actual );
     }
 
+    @Test
     public void testShouldNotMergePluginExecutionWhenExecInheritedIsFalseAndTreatAsInheritanceIsTrue()
     {
         String gid = "group";
@@ -536,6 +552,7 @@ public class ModelUtilsTest
         assertNull( "test execution should not be inherited from parent.", executionMap.get( testId ) );
     }
 
+    @Test
     public void testShouldNotMergePluginExecutionWhenPluginInheritedIsFalseAndTreatAsInheritanceIsTrue()
     {
         String gid = "group";
@@ -576,6 +593,7 @@ public class ModelUtilsTest
         assertNull( "test execution should not be inherited from parent.", executionMap.get( testId ) );
     }
 
+    @Test
     public void testShouldMergePluginExecutionWhenExecInheritedIsTrueAndTreatAsInheritanceIsTrue()
     {
         String gid = "group";
diff --git a/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java b/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
index 96f1fea..a056522 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
@@ -34,6 +34,11 @@ import org.codehaus.plexus.PlexusConstants;
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.impl.ArtifactDescriptorReader;
 import org.eclipse.aether.impl.ArtifactResolver;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 public class ProjectClasspathTest
     extends AbstractMavenProjectTestCase
@@ -71,6 +76,7 @@ public class ProjectClasspathTest
         return null;
     }
 
+    @Test
     public void testProjectClasspath()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java
index 98da0f5..19c67a4 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java
@@ -21,6 +21,9 @@ package org.apache.maven.project.inheritance.t00;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * A test which demonstrates maven's recursive inheritance where
@@ -50,6 +53,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testProjectInheritance()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java
index 1aa749b..fe4f052 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java
@@ -21,6 +21,9 @@ package org.apache.maven.project.inheritance.t01;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * A test which demonstrates maven's recursive inheritance where
@@ -46,6 +49,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testProjectInheritance()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
index 2b78343..485e5f0 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
@@ -28,6 +28,10 @@ import org.apache.maven.model.Build;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 
 /**
  * A test which demonstrates maven's recursive inheritance where
@@ -57,6 +61,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testProjectInheritance()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java
index edb6107..82eaa28 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java
@@ -23,6 +23,9 @@ import java.io.File;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * A test which demonstrates maven's recursive inheritance where
@@ -49,6 +52,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testProjectInheritance()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
index ab775ec..8cedce7 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
@@ -25,6 +25,11 @@ import java.util.Set;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Verifies the version of a dependency listed in a parent's
@@ -51,6 +56,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testDependencyManagementOverridesTransitiveDependencyVersion()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
index 1517157..d8d8f22 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
@@ -25,6 +25,11 @@ import java.util.Set;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * A test which demonstrates maven's dependency management
@@ -45,6 +50,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testDependencyManagement()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
index 60e3771..f1c61b4 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
@@ -26,6 +26,11 @@ import java.util.Set;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * A test which demonstrates maven's dependency management
@@ -46,6 +51,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testDependencyManagement()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
index b9685e3..1821fa1 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
@@ -25,6 +25,12 @@ import java.util.Set;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * A test which demonstrates maven's dependency management
@@ -45,6 +51,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testDependencyManagement()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
index b0a7873..9057752 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
@@ -26,6 +26,11 @@ import java.util.Set;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * A test which demonstrates maven's dependency management
@@ -46,6 +51,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testDependencyManagement()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
index 29cd2ea..bd1a5d3 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
@@ -23,6 +23,12 @@ import java.util.Map;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Verifies exclusions listed in dependencyManagement are valid for
@@ -56,6 +62,7 @@ public class ProjectInheritanceTest
      * We should see that the resulting size of collected artifacts is two:
      * a &amp; b only.
      */
+    @Test
     public void testDependencyManagementExclusionsExcludeTransitively()
         throws Exception
     {
@@ -92,6 +99,7 @@ public class ProjectInheritanceTest
      *
      * @throws Exception
      */
+    @Test
     public void testDependencyManagementExclusionDoesNotOverrideGloballyForTransitives()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
index b24f70f..02bf015 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
@@ -25,6 +25,11 @@ import java.util.Map;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Verifies scope inheritance of direct and transitive dependencies.
@@ -52,6 +57,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testDependencyManagementOverridesTransitiveDependencyVersion()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java
index d8a3926..4d7fa51 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java
@@ -23,6 +23,10 @@ import java.io.File;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 
 /**
  * Verifies scope of root project is preserved regardless of parent dependency management.
@@ -44,6 +48,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testDependencyManagementDoesNotOverrideScopeOfCurrentArtifact()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12/ProjectInheritanceTest.java
index 814e487..b872930 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12/ProjectInheritanceTest.java
@@ -25,6 +25,10 @@ import java.util.Map;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 /**
  * Verifies that plugin execution sections in the parent POM that have
@@ -43,6 +47,7 @@ public class ProjectInheritanceTest extends AbstractProjectInheritanceTestCase
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testFalsePluginExecutionInheritValue() throws Exception
     {
         File localRepo = getLocalRepositoryPath();
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java
index 7627c13..0097961 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java
@@ -23,6 +23,9 @@ import java.io.File;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * Verifies SCM inheritance uses modules statement from parent.
@@ -43,6 +46,7 @@ public class ProjectInheritanceTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testScmInfoCalculatedCorrectlyOnParentAndChildRead()
         throws Exception
     {
@@ -76,6 +80,7 @@ public class ProjectInheritanceTest
                                                                   + "/modules/p1" );
     }
 
+    @Test
     public void testScmInfoCalculatedCorrectlyOnChildOnlyRead()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/path/DefaultPathTranslatorTest.java b/maven-compat/src/test/java/org/apache/maven/project/path/DefaultPathTranslatorTest.java
index b19ef99..4705568 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/path/DefaultPathTranslatorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/path/DefaultPathTranslatorTest.java
@@ -21,13 +21,14 @@ package org.apache.maven.project.path;
 
 import java.io.File;
 
-import junit.framework.TestCase;
+import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
 @SuppressWarnings( "deprecation" )
 public class DefaultPathTranslatorTest
-    extends TestCase
 {
 
+    @Test
     public void testAlignToBasedirWhereBasedirExpressionIsTheCompleteValue()
     {
         File basedir = new File( System.getProperty( "java.io.tmpdir" ), "test" ).getAbsoluteFile();
@@ -37,6 +38,7 @@ public class DefaultPathTranslatorTest
         assertEquals( basedir.getAbsolutePath(), aligned );
     }
 
+    @Test
     public void testAlignToBasedirWhereBasedirExpressionIsTheValuePrefix()
     {
         File basedir = new File( System.getProperty( "java.io.tmpdir" ), "test" ).getAbsoluteFile();
@@ -46,6 +48,7 @@ public class DefaultPathTranslatorTest
         assertEquals( new File( basedir, "dir" ).getAbsolutePath(), aligned );
     }
 
+    @Test
     public void testUnalignToBasedirWherePathEqualsBasedir()
     {
         File basedir = new File( System.getProperty( "java.io.tmpdir" ), "test" ).getAbsoluteFile();
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
index 65dbd89..b346e5e 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
@@ -32,16 +32,21 @@ import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Repository;
 import org.apache.maven.model.RepositoryPolicy;
 import org.apache.maven.plugin.LegacySupport;
-import org.apache.maven.project.ProjectBuilder;
-import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.legacy.LegacyRepositorySystem;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 import javax.inject.Inject;
 
@@ -66,8 +71,9 @@ public class LegacyRepositorySystemTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
+    @Before
     @Override
-    protected void setUp()
+    public void setUp()
             throws Exception
     {
         super.setUp();
@@ -77,6 +83,16 @@ public class LegacyRepositorySystemTest
                         binder ->  binder.requestInjection( this ) );
     }
 
+    @After
+    @Override
+    public void tearDown()
+        throws Exception
+    {
+        repositorySystem = null;
+        resolutionErrorHandler = null;
+        super.tearDown();
+    }
+
     protected List<ArtifactRepository> getRemoteRepositories()
         throws Exception
     {
@@ -104,6 +120,7 @@ public class LegacyRepositorySystemTest
         return repositorySystem.createLocalRepository( repoDir );
     }
 
+    @Test
     public void testThatASystemScopedDependencyIsNotResolvedFromRepositories()
         throws Exception
     {
@@ -186,6 +203,7 @@ public class LegacyRepositorySystemTest
         }
     }
 
+    @Test
     public void testLocalRepositoryBasedir()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
index 8492f7b..1c40aea 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
@@ -23,14 +23,22 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.maven.PlexusTestCase;
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory;
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+import org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory;
 import org.apache.maven.settings.Mirror;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
 import javax.inject.Inject;
 
@@ -50,9 +58,19 @@ public class MirrorProcessorTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
+    @Before
+    public void setUp()
+        throws Exception
+    {
+        super.setUp();
+        mirrorSelector = (DefaultMirrorSelector) lookup( MirrorSelector.class );
+        repositorySystem = lookup( ArtifactRepositoryFactory.class );
+    }
+
+    @After
     @Override
-    protected void setUp()
-            throws Exception
+    public void tearDown()
+        throws Exception
     {
         super.setUp();
 
@@ -61,6 +79,7 @@ public class MirrorProcessorTest
                         binder ->  binder.requestInjection( this ) );
     }
 
+    @Test
     public void testExternalURL()
     {
         assertTrue( DefaultMirrorSelector.isExternalRepo( getRepo( "foo", "http://somehost" ) ) );
@@ -83,6 +102,7 @@ public class MirrorProcessorTest
         assertFalse( DefaultMirrorSelector.isExternalRepo( getRepo( "foo", "" ) ) );
     }
 
+    @Test
     public void testMirrorLookup()
     {
         Mirror mirrorA = newMirror( "a", "a", "http://a" );
@@ -97,6 +117,7 @@ public class MirrorProcessorTest
         assertNull( mirrorSelector.getMirror( getRepo( "c", "http://c.c" ), mirrors ) );
     }
 
+    @Test
     public void testMirrorWildcardLookup()
     {
         Mirror mirrorA = newMirror( "a", "a", "http://a" );
@@ -112,6 +133,7 @@ public class MirrorProcessorTest
         assertSame( mirrorC, mirrorSelector.getMirror( getRepo( "c", "http://c.c" ), mirrors ) );
     }
 
+    @Test
     public void testMirrorStopOnFirstMatch()
     {
         // exact matches win first
@@ -140,6 +162,7 @@ public class MirrorProcessorTest
         assertSame( mirrorC2, mirrorSelector.getMirror( getRepo( "f", "http://f" ), mirrors ) );
     }
 
+    @Test
     public void testPatterns()
     {
         assertTrue( DefaultMirrorSelector.matchPattern( getRepo( "a" ), "*" ) );
@@ -176,6 +199,7 @@ public class MirrorProcessorTest
         assertFalse( DefaultMirrorSelector.matchPattern( getRepo( "d" ), "!a,!c*" ) );
     }
 
+    @Test
     public void testPatternsWithExternal()
     {
         assertTrue( DefaultMirrorSelector.matchPattern( getRepo( "a", "http://localhost" ), "*" ) );
@@ -190,6 +214,7 @@ public class MirrorProcessorTest
         assertTrue( DefaultMirrorSelector.matchPattern( getRepo( "c", "http://somehost" ), "!a,external:*" ) );
     }
 
+    @Test
     public void testLayoutPattern()
     {
         assertTrue( DefaultMirrorSelector.matchesLayout( "default", null ) );
@@ -209,6 +234,7 @@ public class MirrorProcessorTest
         assertFalse( DefaultMirrorSelector.matchesLayout( "default", "!default,*" ) );
     }
 
+    @Test
     public void testMirrorLayoutConsideredForMatching()
     {
         ArtifactRepository repo = getRepo( "a" );
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java
index 1c5f34c..4f1bede 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java
@@ -27,9 +27,16 @@ import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
 import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
-import org.apache.maven.repository.legacy.DefaultUpdateCheckManager;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 
 public class DefaultUpdateCheckManagerTest
     extends AbstractArtifactComponentTestCase
@@ -43,8 +50,9 @@ public class DefaultUpdateCheckManagerTest
         return "updateCheckManager";
     }
 
+    @Before
     @Override
-    protected void setUp()
+    public void setUp()
         throws Exception
     {
         super.setUp();
@@ -52,6 +60,7 @@ public class DefaultUpdateCheckManagerTest
         updateCheckManager = new DefaultUpdateCheckManager( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
     }
 
+    @Test
     public void testArtifact() throws Exception
     {
         ArtifactRepository remoteRepository = remoteRepository();
@@ -81,6 +90,7 @@ public class DefaultUpdateCheckManagerTest
         assertFalse( updateCheckManager.getTouchfile( a ).exists() );
     }
 
+    @Test
     public void testMissingArtifact()
         throws Exception
     {
@@ -108,6 +118,7 @@ public class DefaultUpdateCheckManagerTest
                                                            updateCheckManager.getRepositoryKey( remoteRepository ) ) );
     }
 
+    @Test
     public void testPom() throws Exception
     {
         ArtifactRepository remoteRepository = remoteRepository();
@@ -137,6 +148,7 @@ public class DefaultUpdateCheckManagerTest
         assertFalse( updateCheckManager.getTouchfile( a ).exists() );
     }
 
+    @Test
     public void testMissingPom()
         throws Exception
     {
@@ -164,6 +176,7 @@ public class DefaultUpdateCheckManagerTest
                                                            updateCheckManager.getRepositoryKey( remoteRepository ) ) );
     }
 
+    @Test
     public void testMetadata() throws Exception
     {
         ArtifactRepository remoteRepository = remoteRepository();
@@ -191,6 +204,7 @@ public class DefaultUpdateCheckManagerTest
         assertNotNull( updateCheckManager.readLastUpdated( touchFile, updateCheckManager.getMetadataKey( remoteRepository, file ) ) );
     }
 
+    @Test
     public void testMissingMetadata() throws Exception
     {
         ArtifactRepository remoteRepository = remoteRepository();
@@ -216,6 +230,7 @@ public class DefaultUpdateCheckManagerTest
         assertNotNull( updateCheckManager.readLastUpdated( touchFile, updateCheckManager.getMetadataKey( remoteRepository, file ) ) );
     }
 
+    @Test
     public void testArtifactTouchFileName() throws Exception
     {
         ArtifactFactory artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
index 9ddbe32..fb8c2ca 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
@@ -30,16 +30,15 @@ import org.apache.maven.artifact.DefaultArtifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory;
 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory;
 import org.apache.maven.wagon.ResourceDoesNotExistException;
 import org.apache.maven.wagon.TransferFailedException;
 import org.apache.maven.wagon.UnsupportedProtocolException;
 import org.apache.maven.wagon.Wagon;
-import org.apache.maven.wagon.authorization.AuthorizationException;
 import org.apache.maven.wagon.events.TransferEvent;
 import org.apache.maven.wagon.events.TransferListener;
 import org.apache.maven.wagon.observers.AbstractTransferListener;
@@ -47,8 +46,18 @@ import org.apache.maven.wagon.observers.Debug;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import javax.inject.Inject;
 
@@ -77,8 +86,9 @@ public class DefaultWagonManagerTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
+    @Before
     @Override
-    protected void setUp()
+    public void setUp()
             throws Exception
     {
         super.setUp();
@@ -88,6 +98,17 @@ public class DefaultWagonManagerTest
                         binder ->  binder.requestInjection( this ) );
     }
 
+    @After
+    @Override
+    public void tearDown()
+        throws Exception
+    {
+        wagonManager = null;
+        artifactFactory = null;
+        super.tearDown();
+    }
+
+    @Test
     public void testUnnecessaryRepositoryLookup()
         throws Exception
     {
@@ -123,6 +144,7 @@ public class DefaultWagonManagerTest
         assertEquals( 1, listener.events.size() );
     }
 
+    @Test
     public void testGetMissingJar() throws TransferFailedException, UnsupportedProtocolException, IOException
     {
         Artifact artifact = createTestArtifact( "target/test-data/get-missing-jar", "jar" );
@@ -143,6 +165,7 @@ public class DefaultWagonManagerTest
         assertFalse( artifact.getFile().exists() );
     }
 
+    @Test
     public void testGetMissingJarForced() throws TransferFailedException, UnsupportedProtocolException, IOException
     {
         Artifact artifact = createTestArtifact( "target/test-data/get-missing-jar", "jar" );
@@ -163,6 +186,7 @@ public class DefaultWagonManagerTest
         assertFalse( artifact.getFile().exists() );
     }
 
+    @Test
     public void testGetRemoteJar()
         throws TransferFailedException, ResourceDoesNotExistException, UnsupportedProtocolException, IOException
     {
@@ -240,6 +264,7 @@ public class DefaultWagonManagerTest
         return getRepo( id, "http://something" );
     }
 
+    @Test
     public void testDefaultWagonManager()
         throws Exception
     {
@@ -267,6 +292,7 @@ public class DefaultWagonManagerTest
     /**
      * Check that transfer listeners are properly removed after getArtifact and putArtifact
      */
+    @Test
     public void testWagonTransferListenerRemovedAfterGetArtifactAndPutArtifact()
         throws Exception
     {
@@ -390,6 +416,7 @@ public class DefaultWagonManagerTest
         }
     }
 
+    @Test
     public void testPerLookupInstantiation()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
index d5f281f..476c2cf 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
@@ -26,7 +26,13 @@ import org.apache.maven.settings.Server;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 import javax.inject.Inject;
 
@@ -49,8 +55,9 @@ public class LegacyRepositorySystemTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
+    @Before
     @Override
-    protected void setUp()
+    public void setUp()
             throws Exception
     {
         super.setUp();
@@ -60,6 +67,16 @@ public class LegacyRepositorySystemTest
                         binder ->  binder.requestInjection( this ) );
     }
 
+    @After
+    @Override
+    public void tearDown()
+        throws Exception
+    {
+        repositorySystem = null;
+        super.tearDown();
+    }
+
+    @Test
     public void testThatLocalRepositoryWithSpacesIsProperlyHandled()
         throws Exception
     {
@@ -68,6 +85,7 @@ public class LegacyRepositorySystemTest
         assertEquals( basedir, new File( repo.getBasedir() ) );
     }
 
+    @Test
     public void testAuthenticationHandling()
     {
         Server server = new Server();
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
index 5d88702..be742fc 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
@@ -19,6 +19,16 @@ package org.apache.maven.repository.legacy.resolver;
  * under the License.
  */
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
@@ -39,17 +49,15 @@ import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 /**
  * Test the default artifact collector.
@@ -77,8 +85,9 @@ public class DefaultArtifactCollectorTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
+    @Before
     @Override
-    protected void setUp()
+    public void setUp()
         throws Exception
     {
         super.setUp();
@@ -90,8 +99,9 @@ public class DefaultArtifactCollectorTest
         projectArtifact = createArtifactSpec( "project", "1.0", null );
     }
 
+    @After
     @Override
-    protected void tearDown()
+    public void tearDown()
         throws Exception
     {
         artifactCollector = null;
@@ -135,6 +145,7 @@ public class DefaultArtifactCollectorTest
         }
     }
 
+    @Test
     public void testResolveWithFilter()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -154,6 +165,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, c.artifact } ), res.getArtifacts() );
     }
 
+    @Test
     public void testResolveCorrectDependenciesWhenDifferentDependenciesOnNearest()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -212,6 +224,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "2.0", getArtifact( "b", res.getArtifacts() ).getVersion() );
     }
 
+    @Test
     public void testResolveNearestNewestIsNearest()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -227,6 +240,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "3.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
     }
 
+    @Test
     public void testResolveNearestOldestIsNearest()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -242,6 +256,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "2.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
     }
 
+    @Test
     public void testResolveLocalNewestIsLocal()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -254,6 +269,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "3.0", getArtifact( "b", res.getArtifacts() ).getVersion() );
     }
 
+    @Test
     public void testResolveLocalOldestIsLocal()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -266,6 +282,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "2.0", getArtifact( "b", res.getArtifacts() ).getVersion() );
     }
 
+    @Test
     public void testResolveLocalWithNewerVersionButLesserScope()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -279,6 +296,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, getArtifact( "junit", res.getArtifacts() ).getScope() );
     }
 
+    @Test
     public void testResolveLocalWithNewerVersionButLesserScopeResolvedFirst()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -292,6 +310,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, getArtifact( "junit", res.getArtifacts() ).getScope() );
     }
 
+    @Test
     public void testResolveNearestWithRanges()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -307,6 +326,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "2.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
     }
 
+    @Test
     public void testResolveRangeWithManagedVersion()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -321,6 +341,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "5.0", getArtifact( "b", res.getArtifacts() ).getVersion() );
     }
 
+    @Test
     public void testCompatibleRanges()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -337,6 +358,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "2.5", getArtifact( "c", res.getArtifacts() ).getVersion() );
     }
 
+    @Test
     public void testIncompatibleRanges()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -351,6 +373,7 @@ public class DefaultArtifactCollectorTest
         assertTrue( res.hasVersionRangeViolations() );
     }
 
+    @Test
     public void testUnboundedRangeWhenVersionUnavailable()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -364,6 +387,7 @@ public class DefaultArtifactCollectorTest
         assertTrue( res.hasVersionRangeViolations() );
     }
 
+    @Test
     public void testUnboundedRangeBelowLastRelease()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -379,6 +403,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "2.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
     }
 
+    @Test
     public void testUnboundedRangeAboveLastRelease()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -391,6 +416,7 @@ public class DefaultArtifactCollectorTest
         assertTrue( res.hasVersionRangeViolations() );
     }
 
+    @Test
     public void testResolveManagedVersion()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -404,6 +430,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, modifiedB } ), res.getArtifacts() );
     }
 
+    @Test
     public void testCollectChangesVersionOfOriginatingArtifactIfInDependencyManagementHasDifferentVersion()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -421,6 +448,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Resolved version don't match original artifact version", "1.0", resolvedArtifact.getVersion() );
     }
 
+    @Test
     public void testResolveCompileScopeOverTestScope()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -439,6 +467,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, artifact.getScope() );
     }
 
+    @Test
     public void testResolveRuntimeScopeOverTestScope()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -457,6 +486,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, artifact.getScope() );
     }
 
+    @Test
     public void testResolveCompileScopeOverRuntimeScope()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -475,6 +505,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifactScope", Artifact.SCOPE_COMPILE, artifact.getScope() );
     }
 
+    @Test
     public void testResolveCompileScopeOverProvidedScope()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -493,6 +524,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifactScope", Artifact.SCOPE_PROVIDED, artifact.getScope() );
     }
 
+    @Test
     public void testResolveRuntimeScopeOverProvidedScope()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -511,6 +543,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifactScope", Artifact.SCOPE_PROVIDED, artifact.getScope() );
     }
 
+    @Test
     public void testProvidedScopeNotTransitive()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -522,6 +555,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
     }
 
+    @Test
     public void testOptionalNotTransitive()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -533,6 +567,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
     }
 
+    @Test
     public void testOptionalIncludedAtRoot()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -544,6 +579,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
     }
 
+    @Test
     public void testScopeUpdate()
         throws InvalidVersionSpecificationException, ArtifactResolutionException
     {
@@ -674,6 +710,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check version", "3.0", artifact.getVersion() );
     }
 
+    @Test
     public void testTestScopeNotTransitive()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -685,6 +722,7 @@ public class DefaultArtifactCollectorTest
         assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
     }
 
+    @Test
     public void testSnapshotNotIncluded()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -703,6 +741,7 @@ public class DefaultArtifactCollectorTest
          */
     }
 
+    @Test
     public void testOverConstrainedVersionException()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
index 54ae26a..fd890b0 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
@@ -19,21 +19,27 @@ package org.apache.maven.repository.legacy.resolver.conflict;
  * under the License.
  */
 
+import java.util.Collections;
+
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ResolutionNode;
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.repository.legacy.resolver.conflict.ConflictResolver;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
+import org.junit.After;
+import org.junit.Before;
 
 import javax.inject.Inject;
 import java.util.Collections;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 /**
  * Provides a basis for testing conflict resolvers.
  *
@@ -79,8 +85,12 @@ public abstract class AbstractConflictResolverTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
+    /*
+     * @see junit.framework.TestCase#setUp()
+     */
+    @Before
     @Override
-    protected void setUp()
+    public void setUp()
             throws Exception
     {
         super.setUp();
@@ -99,7 +109,9 @@ public abstract class AbstractConflictResolverTest
     /*
      * @see org.codehaus.plexus.PlexusTestCase#tearDown()
      */
-    protected void tearDown() throws Exception
+    @After
+    @Override
+    public void tearDown() throws Exception
     {
         a1 = null;
         a2 = null;
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/FarthestConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/FarthestConflictResolverTest.java
index 363c7a2..4428f13 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/FarthestConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/FarthestConflictResolverTest.java
@@ -20,6 +20,7 @@ package org.apache.maven.repository.legacy.resolver.conflict;
  */
 
 import org.apache.maven.artifact.resolver.ResolutionNode;
+import org.junit.Test;
 
 /**
  * Tests <code>FarthestConflictResolver</code>.
@@ -47,6 +48,7 @@ public class FarthestConflictResolverTest
      * b:1.0 -&gt; a:2.0
      * </pre>
      */
+    @Test
     public void testDepth()
     {
         ResolutionNode a1n = createResolutionNode( a1);
@@ -63,6 +65,7 @@ public class FarthestConflictResolverTest
      * a:1.0
      * </pre>
      */
+    @Test
     public void testDepthReversed()
     {
         ResolutionNode b1n = createResolutionNode( b1  );
@@ -79,6 +82,7 @@ public class FarthestConflictResolverTest
      * a:2.0
      * </pre>
      */
+    @Test
     public void testEqual()
     {
         ResolutionNode a1n = createResolutionNode( a1 );
@@ -94,6 +98,7 @@ public class FarthestConflictResolverTest
      * a:1.0
      * </pre>
      */
+    @Test
     public void testEqualReversed()
     {
         ResolutionNode a2n = createResolutionNode( a2);
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NearestConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NearestConflictResolverTest.java
index 23683d5..5c188dc 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NearestConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NearestConflictResolverTest.java
@@ -20,6 +20,7 @@ package org.apache.maven.repository.legacy.resolver.conflict;
  */
 
 import org.apache.maven.artifact.resolver.ResolutionNode;
+import org.junit.Test;
 
 /**
  * Tests <code>NearestConflictResolver</code>.
@@ -47,6 +48,7 @@ public class NearestConflictResolverTest
      * b:1.0 -&gt; a:2.0
      * </pre>
      */
+    @Test
     public void testDepth()
     {
         ResolutionNode a1n = createResolutionNode( a1);
@@ -63,6 +65,7 @@ public class NearestConflictResolverTest
      * a:1.0
      * </pre>
      */
+    @Test
     public void testDepthReversed()
     {
         ResolutionNode b1n = createResolutionNode( b1 );
@@ -79,6 +82,7 @@ public class NearestConflictResolverTest
      * a:2.0
      * </pre>
      */
+    @Test
     public void testEqual()
     {
         ResolutionNode a1n = createResolutionNode( a1 );
@@ -94,6 +98,7 @@ public class NearestConflictResolverTest
      * a:1.0
      * </pre>
      */
+    @Test
     public void testEqualReversed()
     {
         ResolutionNode a2n = createResolutionNode( a2);
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolverTest.java
index 4cfffc6..a9c4ca2 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolverTest.java
@@ -20,6 +20,7 @@ package org.apache.maven.repository.legacy.resolver.conflict;
  */
 
 import org.apache.maven.artifact.resolver.ResolutionNode;
+import org.junit.Test;
 
 /**
  * Tests <code>NewestConflictResolver</code>.
@@ -47,6 +48,7 @@ public class NewestConflictResolverTest
      * b:1.0 -&gt; a:2.0
      * </pre>
      */
+    @Test
     public void testDepth()
     {
         ResolutionNode a1n = createResolutionNode( a1 );
@@ -63,6 +65,7 @@ public class NewestConflictResolverTest
      * a:1.0
      * </pre>
      */
+    @Test
     public void testDepthReversed()
     {
         ResolutionNode b1n = createResolutionNode( b1 );
@@ -79,6 +82,7 @@ public class NewestConflictResolverTest
      * a:2.0
      * </pre>
      */
+    @Test
     public void testEqual()
     {
         ResolutionNode a1n = createResolutionNode( a1 );
@@ -94,6 +98,7 @@ public class NewestConflictResolverTest
      * a:1.0
      * </pre>
      */
+    @Test
     public void testEqualReversed()
     {
         ResolutionNode a2n = createResolutionNode( a2 );
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolverTest.java
index 8744de2..3bbfa5f 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolverTest.java
@@ -20,6 +20,7 @@ package org.apache.maven.repository.legacy.resolver.conflict;
  */
 
 import org.apache.maven.artifact.resolver.ResolutionNode;
+import org.junit.Test;
 
 /**
  * Tests <code>OldestConflictResolver</code>.
@@ -47,6 +48,7 @@ public class OldestConflictResolverTest
      * b:1.0 -&gt; a:2.0
      * </pre>
      */
+    @Test
     public void testDepth()
     {
         ResolutionNode a1n = createResolutionNode( a1 );
@@ -64,6 +66,7 @@ public class OldestConflictResolverTest
      * a:1.0
      * </pre>
      */
+    @Test
     public void testDepthReversed()
     {
         ResolutionNode b1n = createResolutionNode( b1 );
@@ -80,6 +83,7 @@ public class OldestConflictResolverTest
      * a:2.0
      * </pre>
      */
+    @Test
     public void testEqual()
     {
         ResolutionNode a1n = createResolutionNode( a1 );
@@ -95,6 +99,7 @@ public class OldestConflictResolverTest
      * a:1.0
      * </pre>
      */
+    @Test
     public void testEqualReversed()
     {
         ResolutionNode a2n = createResolutionNode( a2);
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
index 339ce24..c5d9d82 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
@@ -16,13 +16,12 @@ package org.apache.maven.repository.metadata;
  */
 
 import org.apache.maven.artifact.ArtifactScopeEnum;
-import org.apache.maven.repository.metadata.ArtifactMetadata;
-import org.apache.maven.repository.metadata.ClasspathContainer;
-import org.apache.maven.repository.metadata.ClasspathTransformation;
-import org.apache.maven.repository.metadata.MetadataGraph;
-import org.apache.maven.repository.metadata.MetadataGraphEdge;
-import org.apache.maven.repository.metadata.MetadataGraphVertex;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 /**
  *
@@ -42,8 +41,9 @@ extends PlexusTestCase
     MetadataGraphVertex v3;
     MetadataGraphVertex v4;
     //------------------------------------------------------------------------------------------
+	@Before
     @Override
-    protected void setUp() throws Exception
+    public void setUp() throws Exception
     {
         super.setUp();
         transform = (ClasspathTransformation) lookup( ClasspathTransformation.ROLE, "default" );
@@ -74,6 +74,7 @@ extends PlexusTestCase
         graph.addEdge(v3, v4, new MetadataGraphEdge( "1.2", true, ArtifactScopeEnum.test, null, 2, 2 ) );
     }
     //------------------------------------------------------------------------------------------
+	@Test
     public void testCompileClasspathTransform()
     throws Exception
     {
@@ -86,6 +87,7 @@ extends PlexusTestCase
         assertEquals("compile classpath should have 3 entries", 3, res.getClasspath().size() );
     }
     //------------------------------------------------------------------------------------------
+	@Test
     public void testRuntimeClasspathTransform()
     throws Exception
     {
@@ -101,6 +103,7 @@ extends PlexusTestCase
         assertEquals("runtime artifact version should be 1.1", "1.1", md.getVersion() );
     }
     //------------------------------------------------------------------------------------------
+	@Test
     public void testTestClasspathTransform()
     throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolutionPolicyTest.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolutionPolicyTest.java
index 472f018..5f144fd 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolutionPolicyTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolutionPolicyTest.java
@@ -15,10 +15,10 @@ package org.apache.maven.repository.metadata;
  * the License.
  */
 
-import org.apache.maven.repository.metadata.GraphConflictResolutionPolicy;
-import org.apache.maven.repository.metadata.MetadataGraphEdge;
+import org.junit.Before;
+import org.junit.Test;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
 
 /**
  *
@@ -27,23 +27,22 @@ import junit.framework.TestCase;
  */
 
 public class DefaultGraphConflictResolutionPolicyTest
-    extends TestCase
 {
     GraphConflictResolutionPolicy policy;
     MetadataGraphEdge e1;
     MetadataGraphEdge e2;
     MetadataGraphEdge e3;
     //------------------------------------------------------------------------------------------
-    @Override
-    protected void setUp() throws Exception
-    {
-        super.setUp();
-        policy = new DefaultGraphConflictResolutionPolicy();
-        e1 = new MetadataGraphEdge( "1.1", true, null, null, 2, 1 );
-        e2 = new MetadataGraphEdge( "1.2", true, null, null, 3, 2 );
-        e3 = new MetadataGraphEdge( "1.2", true, null, null, 2, 3 );
-    }
+	@Before
+    public void setUp() throws Exception
+	{
+		policy = new DefaultGraphConflictResolutionPolicy();
+    	e1 = new MetadataGraphEdge( "1.1", true, null, null, 2, 1 );
+    	e2 = new MetadataGraphEdge( "1.2", true, null, null, 3, 2 );
+    	e3 = new MetadataGraphEdge( "1.2", true, null, null, 2, 3 );
+	}
     //------------------------------------------------------------------------------------------
+	@Test
     public void testDefaultPolicy()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
index ccd25b4..be09db2 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
@@ -16,13 +16,13 @@ package org.apache.maven.repository.metadata;
  */
 
 import org.apache.maven.artifact.ArtifactScopeEnum;
-import org.apache.maven.repository.metadata.ArtifactMetadata;
-import org.apache.maven.repository.metadata.GraphConflictResolver;
-import org.apache.maven.repository.metadata.MetadataGraph;
-import org.apache.maven.repository.metadata.MetadataGraphEdge;
-import org.apache.maven.repository.metadata.MetadataGraphVertex;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
 import org.codehaus.plexus.logging.Logger;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 /**
  *
@@ -44,8 +44,9 @@ extends PlexusTestCase
     MetadataGraphVertex v3;
     MetadataGraphVertex v4;
     //------------------------------------------------------------------------------------------
+	@Before
     @Override
-    protected void setUp() throws Exception
+    public void setUp() throws Exception
     {
         super.setUp();
         resolver = (GraphConflictResolver) lookup( GraphConflictResolver.ROLE, "default" );
@@ -76,6 +77,7 @@ extends PlexusTestCase
         graph.addEdge(v3, v4, new MetadataGraphEdge( "1.2", true, ArtifactScopeEnum.provided, null, 2, 2 ) );
     }
     //------------------------------------------------------------------------------------------
+	@Test
     public void testCompileResolution()
     throws Exception
     {
@@ -101,6 +103,7 @@ extends PlexusTestCase
         assertEquals( "wrong edge v3-v4 in the resulting graph after resolver", "1.2", res.getIncidentEdges(v4).get(0).getVersion() );
     }
     //------------------------------------------------------------------------------------------
+	@Test
     public void testRuntimeResolution()
     throws Exception
     {
@@ -125,6 +128,7 @@ extends PlexusTestCase
         assertEquals( "wrong edge v3-v4 in the resulting graph after resolver", "1.1", res.getIncidentEdges(v4).get(0).getVersion() );
     }
     //------------------------------------------------------------------------------------------
+	@Test
     public void testTestResolution()
     throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/TestMetadataSource.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/TestMetadataSource.java
index fbb9035..efec2e6 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/TestMetadataSource.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/TestMetadataSource.java
@@ -19,6 +19,10 @@ package org.apache.maven.repository.metadata;
  * under the License.
  */
 
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -31,9 +35,6 @@ import org.apache.maven.repository.legacy.metadata.ResolutionGroup;
 import javax.inject.Inject;
 import javax.inject.Named;
 import javax.inject.Singleton;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
 
 @Named
 @Singleton
diff --git a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
index de0f99b..3ae311f 100644
--- a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
@@ -48,11 +48,11 @@ import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
+import org.junit.Before;
 
 import javax.inject.Inject;
 
@@ -66,7 +66,9 @@ public abstract class AbstractCoreMavenComponentTestCase
     protected org.apache.maven.project.ProjectBuilder projectBuilder;
 
     @Override
-    protected void setUp() throws Exception
+    @Before
+    public void setUp()
+            throws Exception
     {
         super.setUp();
         getContainer();
@@ -81,6 +83,7 @@ public abstract class AbstractCoreMavenComponentTestCase
                 binder -> binder.requestInjection( this ) );
     }
 
+
     abstract protected String getProjectsDirectory();
 
     protected File getProject( String name )
diff --git a/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java b/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
index c63acbc..7db406c 100644
--- a/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
+++ b/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
@@ -1,23 +1,9 @@
 package org.apache.maven;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
+import java.io.File;
+import java.nio.file.Files;
+
+import javax.inject.Inject;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DefaultArtifact;
@@ -25,13 +11,10 @@ import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenExecutionResult;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
-
-import java.io.File;
-import java.nio.file.Files;
-
-import javax.inject.Inject;
+import org.junit.Test;
 
 import static java.util.Arrays.asList;
+import static org.junit.Assert.assertEquals;
 
 public class DefaultMavenTest
     extends AbstractCoreMavenComponentTestCase
@@ -40,6 +23,14 @@ public class DefaultMavenTest
     @Inject
     private Maven maven;
 
+    @Override
+    protected String getProjectsDirectory()
+    {
+        return "src/test/projects/default-maven";
+    }
+
+
+    @Test
     public void testThatErrorDuringProjectDependencyGraphCreationAreStored()
             throws Exception
     {
@@ -50,13 +41,7 @@ public class DefaultMavenTest
         assertEquals( ProjectCycleException.class, result.getExceptions().get( 0 ).getClass() );
     }
 
-    @Override
-    protected String getProjectsDirectory()
-    {
-        return "src/test/projects/default-maven";
-    }
-
-
+    @Test
     public void testMavenProjectNoDuplicateArtifacts()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java b/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java
index 7d02856..6d9262f 100644
--- a/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java
+++ b/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java
@@ -29,6 +29,10 @@ import org.apache.maven.model.Dependency;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.repository.ComponentDescriptor;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 
 public class MavenLifecycleParticipantTest
     extends AbstractCoreMavenComponentTestCase
@@ -109,6 +113,7 @@ public class MavenLifecycleParticipantTest
         return "src/test/projects/lifecycle-listener";
     }
 
+    @Test
     public void testDependencyInjection()
         throws Exception
     {
@@ -138,6 +143,7 @@ public class MavenLifecycleParticipantTest
         assertEquals( INJECTED_ARTIFACT_ID, artifacts.get( 0 ).getArtifactId() );
     }
 
+    @Test
     public void testReactorDependencyInjection()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/MavenTest.java b/maven-core/src/test/java/org/apache/maven/MavenTest.java
index 711199a..79841c9 100644
--- a/maven-core/src/test/java/org/apache/maven/MavenTest.java
+++ b/maven-core/src/test/java/org/apache/maven/MavenTest.java
@@ -17,14 +17,11 @@ package org.apache.maven;
 
 
 import org.apache.maven.exception.ExceptionHandler;
-import org.apache.maven.exception.ExceptionSummary;
-import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenExecutionResult;
 import org.codehaus.plexus.DefaultPlexusContainer;
 
 import javax.inject.Inject;
-import java.io.File;
 import java.util.Collections;
+import org.junit.Test;
 
 public class MavenTest
     extends AbstractCoreMavenComponentTestCase
@@ -49,6 +46,7 @@ public class MavenTest
         return "src/test/projects/lifecycle-executor";
     }
 
+    @Test
     public void testLifecycleExecutionUsingADefaultLifecyclePhase()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/PlexusTestCase.java b/maven-core/src/test/java/org/apache/maven/PlexusTestCase.java
new file mode 100644
index 0000000..d3801b8
--- /dev/null
+++ b/maven-core/src/test/java/org/apache/maven/PlexusTestCase.java
@@ -0,0 +1,317 @@
+package org.apache.maven;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * Copyright 2001-2006 Codehaus Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.File;
+import java.io.InputStream;
+
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.PlexusContainerException;
+import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.DefaultContext;
+import org.junit.After;
+import org.junit.Before;
+
+/**
+ * This is a slightly modified version of the original plexus class
+ * available at https://raw.githubusercontent.com/codehaus-plexus/plexus-containers/master/plexus-container-default/src/main/java/org/codehaus/plexus/PlexusTestCase.java
+ * in order to migrate the tests to JUnit 4.
+ *
+ * @author Jason van Zyl
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
+ * @author <a href="mailto:michal@codehaus.org">Michal Maczka</a>
+ * @author Guillaume Nodet
+ */
+public abstract class PlexusTestCase
+{
+    private PlexusContainer container;
+
+    private static String basedir;
+
+    @Before
+    public void setUp()
+            throws Exception
+    {
+        basedir = getBasedir();
+    }
+
+    @SuppressWarnings("ResultOfMethodCallIgnored")
+    protected void setupContainer()
+    {
+        // ----------------------------------------------------------------------------
+        // Context Setup
+        // ----------------------------------------------------------------------------
+
+        DefaultContext context = new DefaultContext();
+
+        context.put( "basedir", getBasedir() );
+
+        customizeContext( context );
+
+        boolean hasPlexusHome = context.contains( "plexus.home" );
+
+        if ( !hasPlexusHome )
+        {
+            File f = getTestFile( "target/plexus-home" );
+
+            if ( !f.isDirectory() )
+            {
+                f.mkdir();
+            }
+
+            context.put( "plexus.home", f.getAbsolutePath() );
+        }
+
+        // ----------------------------------------------------------------------------
+        // Configuration
+        // ----------------------------------------------------------------------------
+
+        String config = getCustomConfigurationName();
+
+        ContainerConfiguration containerConfiguration = new DefaultContainerConfiguration()
+                .setName( "test" )
+                .setContext( context.getContextData() );
+
+        if ( config != null )
+        {
+            containerConfiguration.setContainerConfiguration( config );
+        }
+        else
+        {
+            String resource = getConfigurationName( null );
+
+            containerConfiguration.setContainerConfiguration( resource );
+        }
+
+        customizeContainerConfiguration( containerConfiguration );
+
+        try
+        {
+            container = new DefaultPlexusContainer( containerConfiguration );
+        }
+        catch ( PlexusContainerException e )
+        {
+            throw new IllegalArgumentException( "Failed to create plexus container.", e );
+        }
+    }
+
+    /**
+     * Allow custom test case implementations do augment the default container configuration before
+     * executing tests.
+     *
+     * @param containerConfiguration {@link ContainerConfiguration}.
+     */
+    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
+    {
+    }
+
+    protected void customizeContext( Context context )
+    {
+    }
+
+    protected PlexusConfiguration customizeComponentConfiguration()
+    {
+        return null;
+    }
+
+    @After
+    public void tearDown()
+            throws Exception
+    {
+        if ( container != null )
+        {
+            container.dispose();
+
+            container = null;
+        }
+    }
+
+    protected PlexusContainer getContainer()
+    {
+        if ( container == null )
+        {
+            setupContainer();
+        }
+
+        return container;
+    }
+
+    protected InputStream getConfiguration()
+            throws Exception
+    {
+        return getConfiguration( null );
+    }
+
+    protected InputStream getConfiguration( String subname )
+            throws Exception
+    {
+        return getResourceAsStream( getConfigurationName( subname ) );
+    }
+
+    protected String getCustomConfigurationName()
+    {
+        return null;
+    }
+
+    /**
+     * Allow the retrieval of a container configuration that is based on the name
+     * of the test class being run. So if you have a test class called org.foo.FunTest, then
+     * this will produce a resource name of org/foo/FunTest.xml which would be used to
+     * configure the Plexus container before running your test.
+     *
+     * @param subname the subname
+     * @return A configruation name
+     */
+    protected String getConfigurationName( String subname )
+    {
+        return getClass().getName().replace( '.', '/' ) + ".xml";
+    }
+
+    protected InputStream getResourceAsStream( String resource )
+    {
+        return getClass().getResourceAsStream( resource );
+    }
+
+    protected ClassLoader getClassLoader()
+    {
+        return getClass().getClassLoader();
+    }
+
+    // ----------------------------------------------------------------------
+    // Container access
+    // ----------------------------------------------------------------------
+
+    @SuppressWarnings("unchecked")
+    protected <T> T lookup( String componentKey )
+            throws ComponentLookupException
+    {
+        return (T) getContainer().lookup( componentKey );
+    }
+
+    @SuppressWarnings("unchecked")
+    protected <T> T lookup( String role,
+                            String roleHint )
+            throws ComponentLookupException
+    {
+        return (T) getContainer().lookup( role, roleHint );
+    }
+
+    protected <T> T lookup( Class<T> componentClass )
+            throws ComponentLookupException
+    {
+        return getContainer().lookup( componentClass );
+    }
+
+    protected <T> T lookup( Class<T> componentClass, String roleHint )
+            throws ComponentLookupException
+    {
+        return getContainer().lookup( componentClass, roleHint );
+    }
+
+    protected void release( Object component )
+            throws ComponentLifecycleException
+    {
+        getContainer().release( component );
+    }
+
+    // ----------------------------------------------------------------------
+    // Helper methods for sub classes
+    // ----------------------------------------------------------------------
+
+    public static File getTestFile( String path )
+    {
+        return new File( getBasedir(), path );
+    }
+
+    public static File getTestFile( String basedir,
+                                    String path )
+    {
+        File basedirFile = new File( basedir );
+
+        if ( !basedirFile.isAbsolute() )
+        {
+            basedirFile = getTestFile( basedir );
+        }
+
+        return new File( basedirFile, path );
+    }
+
+    public static String getTestPath( String path )
+    {
+        return getTestFile( path ).getAbsolutePath();
+    }
+
+    public static String getTestPath( String basedir,
+                                      String path )
+    {
+        return getTestFile( basedir, path ).getAbsolutePath();
+    }
+
+    public static String getBasedir()
+    {
+        if ( basedir != null )
+        {
+            return basedir;
+        }
+
+        basedir = System.getProperty( "basedir" );
+
+        if ( basedir == null )
+        {
+            basedir = new File( "" ).getAbsolutePath();
+        }
+
+        return basedir;
+    }
+
+    public String getTestConfiguration()
+    {
+        return getTestConfiguration( getClass() );
+    }
+
+    public static String getTestConfiguration( Class<?> clazz )
+    {
+        String s = clazz.getName().replace( '.', '/' );
+
+        return s.substring( 0, s.indexOf( "$" ) ) + ".xml";
+    }
+}
diff --git a/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java b/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
index d3b2eaa..13fc06f 100644
--- a/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
@@ -15,9 +15,6 @@ package org.apache.maven;
  * the License.
  */
 
-import static org.hamcrest.Matchers.endsWith;
-import static org.junit.Assert.assertThat;
-
 import java.io.File;
 import java.util.Collections;
 import java.util.List;
@@ -29,6 +26,11 @@ import org.apache.maven.execution.MavenSession;
 import org.apache.maven.project.MavenProject;
 
 import javax.inject.Inject;
+import org.junit.Test;
+
+import static org.hamcrest.Matchers.endsWith;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
 
 public class ProjectDependenciesResolverTest
     extends AbstractCoreMavenComponentTestCase
@@ -42,6 +44,7 @@ public class ProjectDependenciesResolverTest
     }
 
     /*
+    @Test
     public void testExclusionsInDependencies()
         throws Exception
     {
@@ -65,6 +68,7 @@ public class ProjectDependenciesResolverTest
     }
     */
 
+    @Test
     public void testSystemScopeDependencies()
         throws Exception
     {
@@ -79,6 +83,7 @@ public class ProjectDependenciesResolverTest
         assertEquals( 1, artifactDependencies.size() );
     }
 
+    @Test
     public void testSystemScopeDependencyIsPresentInTheCompileClasspathElements()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java b/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
index 2803d8d..180e6ff 100644
--- a/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
@@ -22,12 +22,16 @@ package org.apache.maven.artifact.handler;
 import java.io.File;
 import java.util.List;
 
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 public class ArtifactHandlerTest
     extends PlexusTestCase
 {
+    @Test
     public void testAptConsistency()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java b/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java
index a0588a2..3c532bf 100644
--- a/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java
@@ -27,34 +27,32 @@ import org.apache.maven.configuration.internal.DefaultBeanConfigurator;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
 
 /**
  * @author Benjamin Bentmann
  */
 public class DefaultBeanConfiguratorTest
-    extends TestCase
 {
 
     private BeanConfigurator configurator;
 
-    @Override
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
-        super.setUp();
-
         configurator = new DefaultBeanConfigurator();
     }
 
-    @Override
-    protected void tearDown()
+    @After
+    public void tearDown()
         throws Exception
     {
         configurator = null;
-
-        super.tearDown();
     }
 
     private Xpp3Dom toConfig( String xml )
@@ -69,6 +67,7 @@ public class DefaultBeanConfiguratorTest
         }
     }
 
+    @Test
     public void testMinimal()
         throws BeanConfigurationException
     {
@@ -84,6 +83,7 @@ public class DefaultBeanConfiguratorTest
         assertEquals( new File( "test" ), bean.file );
     }
 
+    @Test
     public void testPreAndPostProcessing()
         throws BeanConfigurationException
     {
@@ -111,6 +111,7 @@ public class DefaultBeanConfiguratorTest
         assertEquals( new File( "base/test" ).getAbsoluteFile(), bean.file );
     }
 
+    @Test
     public void testChildConfigurationElement()
         throws BeanConfigurationException
     {
diff --git a/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java b/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java
index bcc5895..a746463 100644
--- a/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java
@@ -9,6 +9,7 @@ import org.apache.maven.settings.Profile;
 import org.apache.maven.settings.Repository;
 import org.apache.maven.settings.Settings;
 import org.eclipse.sisu.launch.InjectedTestCase;
+import org.junit.Test;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -35,6 +36,7 @@ public class DefaultMavenExecutionRequestPopulatorTest
     @Inject
     MavenExecutionRequestPopulator testee;
 
+    @Test
     public void testPluginRepositoryInjection()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java b/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
index c7db866..589ac87 100644
--- a/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
+++ b/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
@@ -16,17 +16,19 @@ package org.apache.maven.execution.scope.internal;
 
 import java.util.concurrent.atomic.AtomicInteger;
 
+import com.google.inject.Key;
 import org.apache.maven.execution.MojoExecutionEvent;
 import org.apache.maven.execution.scope.WeakMojoExecutionListener;
 import org.apache.maven.plugin.MojoExecutionException;
+import org.junit.Test;
 
-import junit.framework.TestCase;
-
-import com.google.inject.Key;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.fail;
 
 public class MojoExecutionScopeTest
-    extends TestCase
 {
+    @Test
     public void testNestedEnter()
         throws Exception
     {
@@ -58,6 +60,7 @@ public class MojoExecutionScopeTest
         }
     }
 
+    @Test
     public void testMultiKeyInstance()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java b/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
index 6ce201d..621042c 100644
--- a/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
+++ b/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
@@ -14,21 +14,22 @@
  */
 package org.apache.maven.graph;
 
-import junit.framework.TestCase;
+import java.util.Arrays;
+import java.util.List;
+
 import org.apache.maven.execution.ProjectDependencyGraph;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.project.DuplicateProjectException;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.dag.CycleDetectedException;
+import org.junit.Test;
 
-import java.util.Arrays;
-import java.util.List;
+import static org.junit.Assert.assertEquals;
 
 /**
  * @author Kristian Rosenvold
  */
 public class DefaultProjectDependencyGraphTest
-    extends TestCase
 {
 
     private final MavenProject aProject = createA();
@@ -45,6 +46,7 @@ public class DefaultProjectDependencyGraphTest
     private final MavenProject transitiveOnly =
         createProject( Arrays.asList( toDependency( depender3 ) ), "depender5" );
 
+    @Test
     public void testGetSortedProjects()
         throws DuplicateProjectException, CycleDetectedException
     {
@@ -54,6 +56,7 @@ public class DefaultProjectDependencyGraphTest
         assertEquals( depender1, sortedProjects.get( 1 ) );
     }
 
+    @Test
     public void testVerifyExpectedParentStructure()
         throws CycleDetectedException, DuplicateProjectException
     {
@@ -66,6 +69,7 @@ public class DefaultProjectDependencyGraphTest
         assertEquals( depender3, sortedProjects.get( 3 ) );
     }
 
+    @Test
     public void testVerifyThatDownstreamProjectsComeInSortedOrder()
         throws CycleDetectedException, DuplicateProjectException
     {
@@ -76,6 +80,7 @@ public class DefaultProjectDependencyGraphTest
         assertEquals( depender3, downstreamProjects.get( 2 ) );
     }
 
+    @Test
     public void testTransitivesInOrder()
         throws CycleDetectedException, DuplicateProjectException
     {
@@ -89,6 +94,7 @@ public class DefaultProjectDependencyGraphTest
         assertEquals( depender2, downstreamProjects.get( 3 ) );
     }
 
+    @Test
     public void testNonTransitivesInOrder()
         throws CycleDetectedException, DuplicateProjectException
     {
@@ -102,6 +108,7 @@ public class DefaultProjectDependencyGraphTest
         assertEquals( depender2, downstreamProjects.get( 3 ) );
     }
 
+    @Test
     public void testWithTransitiveOnly()
         throws CycleDetectedException, DuplicateProjectException
     {
@@ -115,6 +122,7 @@ public class DefaultProjectDependencyGraphTest
         assertEquals( depender2, downstreamProjects.get( 3 ) );
     }
 
+    @Test
     public void testWithMissingTransitiveOnly()
         throws CycleDetectedException, DuplicateProjectException
     {
@@ -127,6 +135,7 @@ public class DefaultProjectDependencyGraphTest
         assertEquals( depender2, downstreamProjects.get( 2 ) );
     }
 
+    @Test
     public void testGetUpstreamProjects()
         throws CycleDetectedException, DuplicateProjectException
     {
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
index 28ffeda..1e131ab 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
@@ -15,25 +15,25 @@ package org.apache.maven.lifecycle;
  * the License.
  */
 
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.arrayWithSize;
-import static org.hamcrest.Matchers.hasSize;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import javax.inject.Inject;
+
+import org.apache.maven.PlexusTestCase;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
+import org.junit.Before;
+import org.junit.Test;
 
-import javax.inject.Inject;
-import java.util.Collections;
-import java.util.List;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.arrayWithSize;
+import static org.hamcrest.Matchers.hasSize;
+import static org.hamcrest.Matchers.is;
 
 /**
  * @author Kristian Rosenvold
@@ -54,7 +54,9 @@ public class DefaultLifecyclesTest
     }
 
     @Override
-    protected void setUp() throws Exception
+    @Before
+    public void setUp()
+        throws Exception
     {
         super.setUp();
         getContainer();
@@ -69,6 +71,7 @@ public class DefaultLifecyclesTest
                 binder -> binder.requestInjection( this ) );
     }
 
+    @Test
     public void testDefaultLifecycles()
     {
         final List<Lifecycle> lifecycles = defaultLifeCycles.getLifeCycles();
@@ -76,6 +79,7 @@ public class DefaultLifecyclesTest
         assertThat( DefaultLifecycles.STANDARD_LIFECYCLES,  arrayWithSize( 4 ) );
     }
 
+    @Test
     public void testDefaultLifecycle()
     {
         final Lifecycle lifecycle = getLifeCycleById( "default" );
@@ -83,6 +87,7 @@ public class DefaultLifecyclesTest
         assertThat( lifecycle.getPhases(), hasSize( 23 ) );
     }
 
+    @Test
     public void testCleanLifecycle()
     {
         final Lifecycle lifecycle = getLifeCycleById( "clean" );
@@ -90,6 +95,7 @@ public class DefaultLifecyclesTest
         assertThat( lifecycle.getPhases(), hasSize( 3 ) );
     }
 
+    @Test
     public void testSiteLifecycle()
     {
         final Lifecycle lifecycle = getLifeCycleById( "site" );
@@ -97,6 +103,7 @@ public class DefaultLifecyclesTest
         assertThat( lifecycle.getPhases(), hasSize( 4 ) );
     }
 
+    @Test
     public void testWrapperLifecycle()
     {
         final Lifecycle lifecycle = getLifeCycleById( "wrapper" );
@@ -104,6 +111,7 @@ public class DefaultLifecyclesTest
         assertThat( lifecycle.getPhases(), hasSize( 1 ) );
     }
 
+    @Test
     public void testCustomLifecycle()
     {
         List<Lifecycle> myLifecycles = new ArrayList<>();
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
index dbf242e..c531d17 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
@@ -25,6 +25,11 @@ import org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator;
 import org.apache.maven.lifecycle.internal.MojoExecutor;
 
 import javax.inject.Inject;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotNull;
 
 /**
  * Just asserts that it's able to create those components. Handy when CDI container gets a nervous breakdown.
@@ -64,6 +69,7 @@ public class LifecycleExecutorSubModulesTest
         return "src/test/projects/lifecycle-executor";
     }
 
+    @Test
     public void testCreation()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
index d4a7e9b..0c47e79 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
@@ -15,9 +15,6 @@ package org.apache.maven.lifecycle;
  * the License.
  */
 
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.hasSize;
-
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -45,6 +42,16 @@ import org.apache.maven.plugin.MojoNotFoundException;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.hasSize;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
 
 import javax.inject.Inject;
 
@@ -72,6 +79,7 @@ public class LifecycleExecutorTest
     // Tests which exercise the lifecycle executor when it is dealing with default lifecycle phases.
     // -----------------------------------------------------------------------------------------------
 
+    @Test
     public void testCalculationOfBuildPlanWithIndividualTaskWherePluginIsSpecifiedInThePom()
         throws Exception
     {
@@ -92,6 +100,7 @@ public class LifecycleExecutorTest
         assertEquals( "0.1", mojoExecution.getMojoDescriptor().getPluginDescriptor().getVersion() );
     }
 
+    @Test
     public void testCalculationOfBuildPlanWithIndividualTaskOfTheCleanLifecycle()
         throws Exception
     {
@@ -111,6 +120,7 @@ public class LifecycleExecutorTest
         assertEquals( "0.1", mojoExecution.getMojoDescriptor().getPluginDescriptor().getVersion() );
     }
 
+    @Test
     public void testCalculationOfBuildPlanWithIndividualTaskOfTheCleanCleanGoal()
         throws Exception
     {
@@ -233,6 +243,7 @@ public class LifecycleExecutorTest
                           "configuration/models[1]/model" ) );
     }
 
+    @Test
     public void testLifecycleQueryingUsingADefaultLifecyclePhase()
         throws Exception
     {
@@ -263,6 +274,7 @@ public class LifecycleExecutorTest
         assertEquals( "jar:jar", executionPlan.get( 7 ).getMojoDescriptor().getFullGoalName() );
     }
 
+    @Test
     public void testLifecyclePluginsRetrievalForDefaultLifecycle()
         throws Exception
     {
@@ -272,6 +284,7 @@ public class LifecycleExecutorTest
         assertThat( plugins.toString(), plugins, hasSize( 9 ) );
     }
 
+    @Test
     public void testPluginConfigurationCreation()
         throws Exception
     {
@@ -301,6 +314,7 @@ public class LifecycleExecutorTest
                                                                         mergedSegment.getTasks() );
     }
 
+    @Test
     public void testInvalidGoalName()
         throws Exception
     {
@@ -328,6 +342,7 @@ public class LifecycleExecutorTest
     }
 
 
+    @Test
     public void testPluginPrefixRetrieval()
         throws Exception
     {
@@ -340,6 +355,7 @@ public class LifecycleExecutorTest
 
     // Prefixes
 
+    @Test
     public void testFindingPluginPrefixforCleanClean()
         throws Exception
     {
@@ -349,6 +365,7 @@ public class LifecycleExecutorTest
         assertNotNull( plugin );
     }
 
+    @Test
     public void testSetupMojoExecution()
         throws Exception
     {
@@ -371,6 +388,7 @@ public class LifecycleExecutorTest
         assertEquals("1.0", execution.getConfiguration().getChild( "version" ).getAttribute( "default-value" ));
     }
 
+    @Test
     public void testExecutionListeners()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java
index ffd9f0d..0e455e6 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java
@@ -15,21 +15,24 @@
 
 package org.apache.maven.lifecycle;
 
-import junit.framework.TestCase;
+import java.util.Set;
 
 import org.apache.maven.lifecycle.internal.ExecutionPlanItem;
 import org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub;
 import org.apache.maven.model.Plugin;
+import org.junit.Test;
 
-import java.util.Set;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 /**
  * @author Kristian Rosenvold
  */
 public class MavenExecutionPlanTest
-    extends TestCase
 {
 
+    @Test
     public void testFindLastInPhase()
         throws Exception
     {
@@ -41,6 +44,7 @@ public class MavenExecutionPlanTest
         assertNotNull( expected );
     }
 
+    @Test
     public void testThreadSafeMojos()
         throws Exception
     {
@@ -52,6 +56,7 @@ public class MavenExecutionPlanTest
     }
 
 
+    @Test
     public void testFindLastWhenFirst()
         throws Exception
     {
@@ -62,6 +67,7 @@ public class MavenExecutionPlanTest
         assertNull( beerPhase );
     }
 
+    @Test
     public void testFindLastInPhaseMisc()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
index a003983..4a5bd24 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
@@ -15,17 +15,20 @@ package org.apache.maven.lifecycle.internal;
  * the License.
  */
 
-import junit.framework.TestCase;
+import java.util.List;
+
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.lifecycle.internal.stub.LifecycleTaskSegmentCalculatorStub;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+import org.junit.Test;
 
-import java.util.List;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 public class BuildListCalculatorTest
-    extends TestCase
 {
 
+    @Test
     public void testCalculateProjectBuilds()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java
index b1af3aa..baea294 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java
@@ -15,9 +15,7 @@ package org.apache.maven.lifecycle.internal;
  * the License.
  */
 
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
+import java.util.HashSet;
 
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.lifecycle.MavenExecutionPlan;
@@ -27,8 +25,9 @@ import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
 import org.codehaus.plexus.logging.Logger;
 import org.junit.Test;
 
-
-import java.util.HashSet;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
 
 /**
  * @author Kristian Rosenvold
@@ -78,16 +77,19 @@ public class BuilderCommonTest
             + "you should define versions in pluginManagement section of your pom.xml or parent");
     }
 
+    @Test
     public void testHandleBuildError()
         throws Exception
     {
     }
 
+    @Test
     public void testAttachToThread()
         throws Exception
     {
     }
 
+    @Test
     public void testGetKey()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java
index 6118bbe..a29e64d 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java
@@ -15,6 +15,8 @@ package org.apache.maven.lifecycle.internal;
  * the License.
  */
 
+import java.util.List;
+
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.execution.ProjectDependencyGraph;
 import org.apache.maven.lifecycle.LifecycleNotFoundException;
@@ -29,10 +31,15 @@ import org.apache.maven.plugin.PluginResolutionException;
 import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
 import org.apache.maven.plugin.version.PluginVersionResolutionException;
 import org.apache.maven.project.MavenProject;
+import org.junit.Test;
 
-import java.util.List;
-
-import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.*;
+import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.A;
+import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.B;
+import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.C;
+import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.X;
+import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.Y;
+import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.Z;
+import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.getProjectBuildList;
 
 /**
  * @author Kristian Rosenvold
@@ -40,6 +47,7 @@ import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStu
 public class ConcurrencyDependencyGraphTest
     extends junit.framework.TestCase
 {
+    @Test
     public void testConcurrencyGraphPrimaryVersion()
         throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
         NoPluginFoundForPrefixException, MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
@@ -70,6 +78,7 @@ public class ConcurrencyDependencyGraphTest
         assertEquals( Z, cDescendants.get( 1 ) );
     }
 
+    @Test
     public void testConcurrencyGraphDifferentCompletionOrder()
         throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
         NoPluginFoundForPrefixException, MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
index de02428..2cd28b2 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
@@ -32,6 +32,10 @@ import org.apache.maven.execution.MavenSession;
 import org.apache.maven.project.MavenProject;
 
 import javax.inject.Inject;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 public class LifecycleDependencyResolverTest extends AbstractCoreMavenComponentTestCase
 {
@@ -44,6 +48,15 @@ public class LifecycleDependencyResolverTest extends AbstractCoreMavenComponentT
         return null;
     }
 
+    @Before
+    public void setUp()
+        throws Exception
+    {
+        super.setUp();
+        resolver = lookup( LifecycleDependencyResolver.class );
+    }
+
+    @Test
     public void testCachedReactorProjectDependencies() throws Exception
     {
         MavenSession session = createMavenSession( new File( "src/test/projects/lifecycle-dependency-resolver/pom.xml" ), new Properties(), true );
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java
index 0e1c3c7..373b98b 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java
@@ -23,6 +23,9 @@ import org.apache.maven.lifecycle.internal.stub.DefaultLifecyclesStub;
 import org.apache.maven.lifecycle.internal.stub.PluginPrefixResolverStub;
 import org.apache.maven.lifecycle.internal.stub.PluginVersionResolverStub;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * @author Kristian Rosenvold
@@ -31,6 +34,7 @@ public class LifecycleExecutionPlanCalculatorTest
     extends AbstractCoreMavenComponentTestCase
 {
 
+    @Test
     public void testCalculateExecutionPlanWithGoalTasks()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
index 5db316f..0f431b7 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
@@ -19,19 +19,22 @@ package org.apache.maven.lifecycle.internal;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import java.util.List;
+
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.lifecycle.internal.stub.LifecycleTaskSegmentCalculatorStub;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+import org.junit.Test;
 
-import java.util.List;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 /**
  * @author Kristian Rosenvold
  */
 public class LifecycleTaskSegmentCalculatorImplTest
-    extends TestCase
 {
+    @Test
     public void testCalculateProjectBuilds()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java
index f3d6422..5c1251c 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java
@@ -15,20 +15,23 @@ package org.apache.maven.lifecycle.internal;
  * the License.
  */
 
-import junit.framework.TestCase;
+import java.util.List;
 
 import org.apache.maven.lifecycle.MavenExecutionPlan;
 import org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
 import org.apache.maven.plugin.MojoExecution;
+import org.junit.Test;
 
-import java.util.List;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author Kristian Rosenvold
  */
-public class PhaseRecorderTest extends TestCase
+public class PhaseRecorderTest
 {
+    @Test
     public void testObserveExecution() throws Exception {
         PhaseRecorder phaseRecorder = new PhaseRecorder( ProjectDependencyGraphStub.A);
         MavenExecutionPlan plan = LifecycleExecutionPlanCalculatorStub.getProjectAExceutionPlan();
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java
index b909fb0..5f69410 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java
@@ -14,17 +14,20 @@ package org.apache.maven.lifecycle.internal.builder.multithreaded;
  * the License.
  */
 
-import junit.framework.TestCase;
+import java.util.List;
+import java.util.Set;
+
 import org.apache.maven.execution.ProjectDependencyGraph;
 import org.apache.maven.lifecycle.internal.ProjectBuildList;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
 import org.apache.maven.project.MavenProject;
+import org.junit.Test;
 
-import java.util.List;
-import java.util.Set;
+import static org.junit.Assert.assertEquals;
 
-public class ConcurrencyDependencyGraphTest extends TestCase {
+public class ConcurrencyDependencyGraphTest {
 
+    @Test
     public void testGraph() throws Exception {
 
         ProjectBuildList projectBuildList = ProjectDependencyGraphStub.getProjectBuildList(
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java
index 32ce9ba..197ff6b 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java
@@ -15,14 +15,24 @@ package org.apache.maven.lifecycle.internal.builder.multithreaded;
  * the License.
  */
 
-import junit.framework.TestCase;
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.CompletionService;
+import java.util.concurrent.ExecutorCompletionService;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
 
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.lifecycle.LifecycleNotFoundException;
 import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
 import org.apache.maven.lifecycle.internal.ProjectBuildList;
 import org.apache.maven.lifecycle.internal.ProjectSegment;
-import org.apache.maven.lifecycle.internal.builder.multithreaded.ThreadOutputMuxer;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
 import org.apache.maven.plugin.InvalidPluginDescriptorException;
 import org.apache.maven.plugin.MojoNotFoundException;
@@ -31,25 +41,14 @@ import org.apache.maven.plugin.PluginNotFoundException;
 import org.apache.maven.plugin.PluginResolutionException;
 import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
 import org.apache.maven.plugin.version.PluginVersionResolutionException;
+import org.junit.Test;
 
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.concurrent.Callable;
-import java.util.concurrent.CompletionService;
-import java.util.concurrent.ExecutorCompletionService;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
+import static org.junit.Assert.assertEquals;
 
 /**
  * @author Kristian Rosenvold
  */
 public class ThreadOutputMuxerTest
-    extends TestCase
 {
 
     final String paid = "Paid";
@@ -58,6 +57,7 @@ public class ThreadOutputMuxerTest
 
     final String full = "Full";
 
+    @Test
     public void testSingleThreaded()
         throws Exception
     {
@@ -86,6 +86,7 @@ public class ThreadOutputMuxerTest
         assertEquals( ( paid + in + full ).length(), byteArrayOutputStream.size() );
     }
 
+    @Test
     public void testMultiThreaded()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java
index 8c60572..ddc20ec 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java
@@ -15,11 +15,13 @@
 
 package org.apache.maven.lifecycle.internal.stub;
 
-import junit.framework.TestCase;
-import org.apache.maven.project.MavenProject;
-
 import java.util.List;
 
+import org.apache.maven.project.MavenProject;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests the stub. Yeah, I know.
@@ -28,30 +30,34 @@ import java.util.List;
  */
 
 public class ProjectDependencyGraphStubTest
-    extends TestCase
 {
+    ProjectDependencyGraphStub stub = new ProjectDependencyGraphStub();
+
+    @Test
     public void testADependencies()
     {
-        ProjectDependencyGraphStub stub = new ProjectDependencyGraphStub();
         final List<MavenProject> mavenProjects = stub.getUpstreamProjects( ProjectDependencyGraphStub.A, false );
         assertEquals( 0, mavenProjects.size() );
     }
 
-    public void testBDepenencies( ProjectDependencyGraphStub stub )
+    @Test
+    public void testBDepenencies()
     {
         final List<MavenProject> bProjects = stub.getUpstreamProjects( ProjectDependencyGraphStub.B, false );
         assertEquals( 1, bProjects.size() );
         assertTrue( bProjects.contains( ProjectDependencyGraphStub.A ) );
     }
 
-    public void testCDepenencies( ProjectDependencyGraphStub stub )
+    @Test
+    public void testCDepenencies()
     {
         final List<MavenProject> cProjects = stub.getUpstreamProjects( ProjectDependencyGraphStub.C, false );
         assertEquals( 1, cProjects.size() );
-        assertTrue( cProjects.contains( ProjectDependencyGraphStub.C ) );
+        assertTrue( cProjects.contains( ProjectDependencyGraphStub.A ) );
     }
 
-    public void testXDepenencies( ProjectDependencyGraphStub stub )
+    @Test
+    public void testXDepenencies()
     {
         final List<MavenProject> cProjects = stub.getUpstreamProjects( ProjectDependencyGraphStub.X, false );
         assertEquals( 2, cProjects.size() );
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
index b4b3b3a..524979d 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
@@ -32,6 +32,13 @@ import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.classworlds.realm.ClassRealm;
 import org.codehaus.plexus.component.repository.ComponentDescriptor;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
 
 import javax.inject.Inject;
 
@@ -41,12 +48,12 @@ public class PluginManagerTest
     @Inject
     private DefaultBuildPluginManager pluginManager;
 
-
     protected String getProjectsDirectory()
     {
         return "src/test/projects/plugin-manager";
     }
 
+    @Test
     public void testPluginLoading()
         throws Exception
     {
@@ -61,6 +68,7 @@ public class PluginManagerTest
         assertNotNull( pluginDescriptor );
     }
 
+    @Test
     public void testMojoDescriptorRetrieval()
         throws Exception
     {
@@ -97,6 +105,7 @@ public class PluginManagerTest
     //      only deal in concrete terms -- all version finding mumbo jumbo is a customization to base functionality
     //      the plugin manager provides.
 
+    @Test
     public void testRemoteResourcesPlugin()
         throws Exception
     {
@@ -150,6 +159,7 @@ public class PluginManagerTest
         */
     }
 
+    @Test
     public void testMojoConfigurationIsMergedCorrectly()
         throws Exception
     {
@@ -160,6 +170,7 @@ public class PluginManagerTest
      * is in the Antlr plugin which comes bundled with a version of Antlr but the user often times needs
      * to use a specific version. We need to make sure the version that they specify takes precedence.
      */
+    @Test
     public void testMojoWhereInternallyStatedDependencyIsOverriddenByProject()
         throws Exception
     {
@@ -169,6 +180,7 @@ public class PluginManagerTest
      * The case where you have a plugin in the current build that you want to be used on projects in
      * the current build.
      */
+    @Test
     public void testMojoThatIsPresentInTheCurrentBuild()
         throws Exception
     {
@@ -178,6 +190,7 @@ public class PluginManagerTest
      * This is the case where the Mojo wants to execute on every project and then do something at the end
      * with the results of each project.
      */
+    @Test
     public void testAggregatorMojo()
         throws Exception
     {
@@ -187,6 +200,7 @@ public class PluginManagerTest
      * This is the case where a Mojo needs the lifecycle run to a certain phase before it can do
      * anything useful.
      */
+    @Test
     public void testMojoThatRequiresExecutionToAGivenPhaseBeforeExecutingItself()
         throws Exception
     {
@@ -198,6 +212,7 @@ public class PluginManagerTest
 
     // test a build where projects use different versions of the same plugin
 
+    @Test
     public void testThatPluginDependencyThatHasSystemScopeIsResolved()
         throws Exception
     {
@@ -241,6 +256,7 @@ public class PluginManagerTest
         assertEquals( version, pd.getVersion() );
     }
 
+    @Test
     public void testPluginRealmCache()
         throws Exception
     {
@@ -285,6 +301,7 @@ public class PluginManagerTest
         }
     }
 
+    @Test
     public void testBuildExtensionsPluginLoading()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java
index c13d193..14961d1 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java
@@ -24,8 +24,9 @@ import java.util.Collections;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.plugin.descriptor.Parameter;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.junit.Test;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
 
 /**
  * MNG-3131
@@ -34,11 +35,11 @@ import junit.framework.TestCase;
  *
  */
 public class PluginParameterExceptionTest
-    extends TestCase
 {
 
     private final String LS = System.lineSeparator();
 
+    @Test
     public void testMissingRequiredStringArrayTypeParameter()
     {
         MojoDescriptor mojoDescriptor = new MojoDescriptor();
@@ -69,6 +70,7 @@ public class PluginParameterExceptionTest
                 "</configuration>." + LS, exception.buildDiagnosticMessage() );
     }
 
+    @Test
     public void testMissingRequiredCollectionTypeParameter()
     {
         MojoDescriptor mojoDescriptor = new MojoDescriptor();
@@ -99,6 +101,7 @@ public class PluginParameterExceptionTest
                 "</configuration>." + LS, exception.buildDiagnosticMessage() );
     }
 
+    @Test
     public void testMissingRequiredMapTypeParameter()
     {
         MojoDescriptor mojoDescriptor = new MojoDescriptor();
@@ -129,6 +132,7 @@ public class PluginParameterExceptionTest
                 "</configuration>." + LS, exception.buildDiagnosticMessage() );
     }
 
+    @Test
     public void testMissingRequiredPropertiesTypeParameter()
     {
         MojoDescriptor mojoDescriptor = new MojoDescriptor();
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
index e579d69..490d915 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
@@ -46,6 +46,14 @@ import org.codehaus.plexus.MutablePlexusContainer;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
 import org.codehaus.plexus.util.dag.CycleDetectedException;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
 import javax.inject.Inject;
 
@@ -60,14 +68,7 @@ public class PluginParameterExpressionEvaluatorTest
     @Inject
     private RepositorySystem factory;
 
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        factory = null;
-        super.tearDown();
-    }
-
+    @Test
     public void testPluginDescriptorExpressionReference()
         throws Exception
     {
@@ -84,6 +85,7 @@ public class PluginParameterExpressionEvaluatorTest
                     result );
     }
 
+    @Test
     public void testPluginArtifactsExpressionReference()
         throws Exception
     {
@@ -109,6 +111,7 @@ public class PluginParameterExpressionEvaluatorTest
         assertSame( "dependency artifact is wrong.", depArtifact, depResults.get( 0 ) );
     }
 
+    @Test
     public void testPluginArtifactMapExpressionReference()
         throws Exception
     {
@@ -136,6 +139,7 @@ public class PluginParameterExpressionEvaluatorTest
                     depResults.get( ArtifactUtils.versionlessKey( depArtifact ) ) );
     }
 
+    @Test
     public void testPluginArtifactIdExpressionReference()
         throws Exception
     {
@@ -152,6 +156,7 @@ public class PluginParameterExpressionEvaluatorTest
                     result );
     }
 
+    @Test
     public void testValueExtractionWithAPomValueContainingAPath()
         throws Exception
     {
@@ -174,6 +179,7 @@ public class PluginParameterExpressionEvaluatorTest
         assertEquals( expected, actual );
     }
 
+    @Test
     public void testEscapedVariablePassthrough()
         throws Exception
     {
@@ -191,6 +197,7 @@ public class PluginParameterExpressionEvaluatorTest
         assertEquals( var, value );
     }
 
+    @Test
     public void testEscapedVariablePassthroughInLargerExpression()
         throws Exception
     {
@@ -209,6 +216,7 @@ public class PluginParameterExpressionEvaluatorTest
         assertEquals( "${var} with version: 1", value );
     }
 
+    @Test
     public void testMultipleSubExpressionsInLargerExpression()
         throws Exception
     {
@@ -227,6 +235,7 @@ public class PluginParameterExpressionEvaluatorTest
         assertEquals( "test with version: 1", value );
     }
 
+    @Test
     public void testMissingPOMPropertyRefInLargerExpression()
         throws Exception
     {
@@ -241,6 +250,7 @@ public class PluginParameterExpressionEvaluatorTest
         assertEquals( expr, value );
     }
 
+    @Test
     public void testPOMPropertyExtractionWithMissingProject_WithDotNotation()
         throws Exception
     {
@@ -262,6 +272,7 @@ public class PluginParameterExpressionEvaluatorTest
         assertEquals( checkValue, value );
     }
 
+    @Test
     public void testBasedirExtractionWithMissingProject()
         throws Exception
     {
@@ -272,6 +283,7 @@ public class PluginParameterExpressionEvaluatorTest
         assertEquals( System.getProperty( "user.dir" ), value );
     }
 
+    @Test
     public void testValueExtractionFromSystemPropertiesWithMissingProject()
         throws Exception
     {
@@ -291,6 +303,7 @@ public class PluginParameterExpressionEvaluatorTest
         assertEquals( "value", value );
     }
 
+    @Test
     public void testValueExtractionFromSystemPropertiesWithMissingProject_WithDotNotation()
         throws Exception
     {
@@ -323,6 +336,7 @@ public class PluginParameterExpressionEvaluatorTest
         return new MavenSession( container, request, new DefaultMavenExecutionResult(), Collections.<MavenProject>emptyList()  );
     }
 
+    @Test
     public void testLocalRepositoryExtraction()
         throws Exception
     {
@@ -333,6 +347,7 @@ public class PluginParameterExpressionEvaluatorTest
         assertEquals( "local", ( (ArtifactRepository) value ).getId() );
     }
 
+    @Test
     public void testTwoExpressions()
         throws Exception
     {
@@ -351,6 +366,7 @@ public class PluginParameterExpressionEvaluatorTest
         assertEquals( "expected-directory" + File.separatorChar + "expected-finalName", value );
     }
 
+    @Test
     public void testShouldExtractPluginArtifacts()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java b/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
index 25aa176..70faa44 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
@@ -18,20 +18,23 @@ package org.apache.maven.plugin.internal;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import java.util.concurrent.CountDownLatch;
+
 import org.apache.maven.execution.DefaultMavenExecutionRequest;
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenSession;
+import org.junit.Test;
 
-import java.util.concurrent.CountDownLatch;
+import static org.junit.Assert.assertNull;
 
 /**
  * @author Kristian Rosenvold
  */
-public class DefaultLegacySupportTest extends TestCase {
+public class DefaultLegacySupportTest {
     final CountDownLatch latch = new CountDownLatch(1);
     final DefaultLegacySupport defaultLegacySupport = new DefaultLegacySupport();
 
+    @Test
     public void testSetSession() throws Exception {
 
         MavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest();
diff --git a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
index 1456ead..18a5812 100644
--- a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -31,8 +31,10 @@ import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.junit.After;
+import org.junit.Before;
 
 import javax.inject.Inject;
 
@@ -64,7 +66,8 @@ public abstract class AbstractMavenProjectTestCase
                 binder -> binder.requestInjection( this ) );
     }
 
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
         super.setUp();
@@ -80,8 +83,8 @@ public abstract class AbstractMavenProjectTestCase
         }
     }
 
-    @Override
-    protected void tearDown()
+    @After
+    public void tearDown()
         throws Exception
     {
         projectBuilder = null;
diff --git a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
index 1bb66ab..fff4ed5 100644
--- a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
@@ -18,8 +18,6 @@ package org.apache.maven.project;
  * specific language governing permissions and limitations
  * under the License.
  */
-import static org.hamcrest.Matchers.containsString;
-import static org.junit.Assert.assertThat;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -27,8 +25,16 @@ import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 import org.codehaus.plexus.util.FileUtils;
+import org.junit.Test;
+
+import static org.hamcrest.Matchers.containsString;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
 
 public class DefaultMavenProjectBuilderTest
     extends AbstractMavenProjectTestCase
@@ -91,6 +97,7 @@ public class DefaultMavenProjectBuilderTest
      * Check that we can build ok from the middle pom of a (parent,child,grandchild) hierarchy
      * @throws Exception
      */
+    @Test
     public void testBuildFromMiddlePom() throws Exception
     {
         File f1 = getTestFile( "src/test/resources/projects/grandchild-check/child/pom.xml");
@@ -103,6 +110,7 @@ public class DefaultMavenProjectBuilderTest
         getProject( f2 );
     }
 
+    @Test
     public void testDuplicatePluginDefinitionsMerged()
         throws Exception
     {
@@ -114,6 +122,7 @@ public class DefaultMavenProjectBuilderTest
         assertEquals( "first", project.getBuildPlugins().get( 0 ).getExecutions().get( 0 ).getId() );
     }
 
+    @Test
     public void testFutureModelVersion()
         throws Exception
     {
@@ -130,6 +139,7 @@ public class DefaultMavenProjectBuilderTest
         }
     }
 
+    @Test
     public void testPastModelVersion()
         throws Exception
     {
@@ -148,6 +158,7 @@ public class DefaultMavenProjectBuilderTest
         }
     }
 
+    @Test
     public void testFutureSchemaModelVersion()
         throws Exception
     {
@@ -174,6 +185,7 @@ public class DefaultMavenProjectBuilderTest
         }
     }
 
+    @Test
     public void testBuildStubModelForMissingRemotePom()
         throws Exception
     {
@@ -211,6 +223,7 @@ public class DefaultMavenProjectBuilderTest
         }
     }
 
+    @Test
     public void testPartialResultUponBadDependencyDeclaration()
         throws Exception
     {
@@ -243,6 +256,7 @@ public class DefaultMavenProjectBuilderTest
      *
      * @throws Exception
      */
+    @Test
     public void testBuildValidParentVersionRangeLocally() throws Exception
     {
         File f1 = getTestFile( "src/test/resources/projects/parent-version-range-local-valid/child/pom.xml" );
@@ -262,6 +276,7 @@ public class DefaultMavenProjectBuilderTest
      *
      * @throws Exception
      */
+    @Test
     public void testBuildParentVersionRangeLocallyWithoutChildVersion() throws Exception
     {
         File f1 =
@@ -284,6 +299,7 @@ public class DefaultMavenProjectBuilderTest
      *
      * @throws Exception
      */
+    @Test
     public void testBuildParentVersionRangeLocallyWithChildVersionExpression() throws Exception
     {
         File f1 =
@@ -307,6 +323,7 @@ public class DefaultMavenProjectBuilderTest
      *
      * @throws Exception
      */
+    @Test
     public void testBuildParentVersionRangeExternally() throws Exception
     {
         File f1 = getTestFile( "src/test/resources/projects/parent-version-range-external-valid/pom.xml" );
@@ -326,6 +343,7 @@ public class DefaultMavenProjectBuilderTest
      *
      * @throws Exception
      */
+    @Test
     public void testBuildParentVersionRangeExternallyWithoutChildVersion() throws Exception
     {
         File f1 =
@@ -349,6 +367,7 @@ public class DefaultMavenProjectBuilderTest
      *
      * @throws Exception
      */
+    @Test
     public void testBuildParentVersionRangeExternallyWithChildVersionExpression() throws Exception
     {
         File f1 =
diff --git a/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java
index 5ac8f61..1d52b41 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java
@@ -19,16 +19,20 @@ package org.apache.maven.project;
  * under the License.
  */
 
-import static org.hamcrest.Matchers.empty;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
-
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 
-import junit.framework.TestCase;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.hamcrest.Matchers.empty;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
 
 /**
  * Tests {@link ExtensionDescriptorBuilder}.
@@ -36,27 +40,22 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ExtensionDescriptorBuilderTest
-    extends TestCase
 {
 
     private ExtensionDescriptorBuilder builder;
 
-    @Override
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
-        super.setUp();
-
         builder = new ExtensionDescriptorBuilder();
     }
 
-    @Override
-    protected void tearDown()
+    @After
+    public void tearDown()
         throws Exception
     {
         builder = null;
-
-        super.tearDown();
     }
 
     private InputStream toStream( String xml )
@@ -64,6 +63,7 @@ public class ExtensionDescriptorBuilderTest
         return new ByteArrayInputStream( xml.getBytes( StandardCharsets.UTF_8 ) );
     }
 
+    @Test
     public void testEmptyDescriptor()
         throws Exception
     {
@@ -78,6 +78,7 @@ public class ExtensionDescriptorBuilderTest
         assertThat( ed.getExportedArtifacts(), is( empty() ) );
     }
 
+    @Test
     public void testCompleteDescriptor()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java b/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
index 6b4258b..7847093 100644
--- a/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
@@ -28,11 +28,19 @@ import org.apache.maven.model.DependencyManagement;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Parent;
 import org.apache.maven.model.Profile;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
 
 public class MavenProjectTest
     extends AbstractMavenProjectTestCase
 {
 
+    @Test
     public void testShouldInterpretChildPathAdjustmentBasedOnModulePaths()
         throws IOException
     {
@@ -59,6 +67,7 @@ public class MavenProjectTest
         assertEquals( "..", adjustment );
     }
 
+    @Test
     public void testIdentityProtoInheritance()
     {
         Parent parent = new Parent();
@@ -82,6 +91,7 @@ public class MavenProjectTest
         project.getId();
     }
 
+    @Test
     public void testEmptyConstructor()
     {
         MavenProject project = new MavenProject();
@@ -90,6 +100,7 @@ public class MavenProjectTest
                         + MavenProject.EMPTY_PROJECT_VERSION, project.getId() );
     }
 
+    @Test
     public void testClone()
         throws Exception
     {
@@ -103,6 +114,7 @@ public class MavenProjectTest
         assertTrue( "ManagedVersionMap is not empty", clonedMap.isEmpty() );
     }
 
+    @Test
     public void testCloneWithDependencyManagement()
         throws Exception
     {
@@ -127,6 +139,7 @@ public class MavenProjectTest
                     clonedMap.containsKey( "maven-test:maven-test-b:jar" ) );
     }
 
+    @Test
     public void testGetModulePathAdjustment()
         throws IOException
     {
@@ -146,6 +159,7 @@ public class MavenProjectTest
         assertEquals( "..", pathAdjustment );
     }
 
+    @Test
     public void testCloneWithDistributionManagement()
         throws Exception
     {
@@ -157,6 +171,7 @@ public class MavenProjectTest
         assertNotNull( "clonedProject - distributionManagement", clonedProject.getDistributionManagementArtifactRepository() );
     }
 
+    @Test
     public void testCloneWithActiveProfile()
         throws Exception
     {
@@ -177,6 +192,7 @@ public class MavenProjectTest
                        activeProfilesClone );
     }
 
+    @Test
     public void testCloneWithBaseDir()
         throws Exception
     {
@@ -188,6 +204,7 @@ public class MavenProjectTest
         assertEquals( "Base directory is preserved across clone", projectToClone.getBasedir(), clonedProject.getBasedir() );
     }
 
+    @Test
     public void testUndefinedOutputDirectory()
         throws Exception
     {
@@ -198,6 +215,7 @@ public class MavenProjectTest
         assertNoNulls( p.getTestClasspathElements() );
     }
 
+    @Test
     public void testAddDotFile()
     {
         MavenProject project = new MavenProject();
diff --git a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
index e953dbc..6562075 100644
--- a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
@@ -27,6 +27,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
+import javax.inject.Inject;
+
+import org.apache.maven.PlexusTestCase;
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginExecution;
@@ -37,16 +40,23 @@ import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
-
-import javax.inject.Inject;
-
-import static org.hamcrest.Matchers.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.hamcrest.Matchers.endsWith;
+import static org.hamcrest.Matchers.lessThan;
+import static org.hamcrest.Matchers.startsWith;
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
 
 public class PomConstructionTest
     extends PlexusTestCase
@@ -82,7 +92,8 @@ public class PomConstructionTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
         getContainer();
@@ -90,8 +101,8 @@ public class PomConstructionTest
         new File( getBasedir(), BASE_MIXIN_DIR );
     }
 
-    @Override
-    protected void tearDown()
+    @After
+    public void tearDown()
         throws Exception
     {
         projectBuilder = null;
@@ -104,7 +115,7 @@ public class PomConstructionTest
      *
      * @throws Exception
      */
-
+    @Test
     public void testEmptyUrl()
         throws Exception
     {
@@ -117,6 +128,7 @@ public class PomConstructionTest
      * @throws Exception
      */
     /* MNG-786*/
+    @Test
     public void testProfileModules()
         throws Exception
     {
@@ -134,6 +146,7 @@ public class PomConstructionTest
      *
      * @throws Exception
      */
+    @Test
     public void testParentInheritance()
         throws Exception
     {
@@ -141,6 +154,7 @@ public class PomConstructionTest
     }
 
     /*MNG-3995*/
+    @Test
     public void testExecutionConfigurationJoin()
        throws Exception
     {
@@ -149,6 +163,7 @@ public class PomConstructionTest
     }
 
     /*MNG-3803*/
+    @Test
     public void testPluginConfigProperties()
        throws Exception
     {
@@ -157,6 +172,7 @@ public class PomConstructionTest
     }
 
     /*MNG-3900*/
+    @Test
     public void testProfilePropertiesInterpolation()
         throws Exception
     {
@@ -188,6 +204,7 @@ public class PomConstructionTest
     }
 
     /*MNG- 4010*/
+    @Test
     public void testDuplicateExclusionsDependency()
         throws Exception
     {
@@ -197,6 +214,7 @@ public class PomConstructionTest
     }
 
     /*MNG- 4008*/
+    @Test
     public void testMultipleFilters()
         throws Exception
     {
@@ -220,6 +238,7 @@ public class PomConstructionTest
         }
     }
 
+    @Test
     public void testValidationErrorUponNonUniqueDependencyManagementKey()
         throws Exception
     {
@@ -234,6 +253,7 @@ public class PomConstructionTest
         }
     }
 
+    @Test
     public void testValidationErrorUponNonUniqueDependencyKeyInProfile()
         throws Exception
     {
@@ -248,6 +268,7 @@ public class PomConstructionTest
         }
     }
 
+    @Test
     public void testValidationErrorUponNonUniqueDependencyManagementKeyInProfile()
         throws Exception
     {
@@ -262,7 +283,7 @@ public class PomConstructionTest
         }
     }
     */
-
+    @Test
     public void testDuplicateDependenciesCauseLastDeclarationToBePickedInLenientMode()
         throws Exception
     {
@@ -272,6 +293,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3567*/
+    @Test
     public void testParentInterpolation()
         throws Exception
     {
@@ -295,6 +317,7 @@ public class PomConstructionTest
     */
 
     /* MNG-3567*/
+    @Test
     public void testPluginManagementInherited()
         throws Exception
     {
@@ -303,6 +326,7 @@ public class PomConstructionTest
     }
 
      /* MNG-2174*/
+    @Test
     public void testPluginManagementDependencies()
         throws Exception
     {
@@ -313,6 +337,7 @@ public class PomConstructionTest
 
 
     /* MNG-3877*/
+    @Test
     public void testReportingInterpolation()
         throws Exception
     {
@@ -323,6 +348,7 @@ public class PomConstructionTest
     }
 
 
+    @Test
     public void testPluginOrder()
         throws Exception
     {
@@ -331,6 +357,7 @@ public class PomConstructionTest
         assertEquals( "maven-surefire-plugin", pom.getValue( "build/plugins[2]/artifactId" ) );
     }
 
+    @Test
     public void testErroneousJoiningOfDifferentPluginsWithEqualDependencies()
         throws Exception
     {
@@ -342,6 +369,7 @@ public class PomConstructionTest
     }
 
     /** MNG-3821 */
+    @Test
     public void testErroneousJoiningOfDifferentPluginsWithEqualExecutionIds()
         throws Exception
     {
@@ -357,6 +385,7 @@ public class PomConstructionTest
     }
 
      /** MNG-3998 */
+    @Test
     public void testExecutionConfiguration()
         throws Exception
     {
@@ -375,8 +404,7 @@ public class PomConstructionTest
     PomTestWrapper pom = buildPom( "plugin-config-duplicate/dup" );
 }
 */
-
-
+    @Test
     public void testSingleConfigurationInheritance()
         throws Exception
     {
@@ -389,6 +417,7 @@ public class PomConstructionTest
                       pom.getValue( "build/plugins[1]/executions[1]/configuration[1]/rules[1]/requireJavaVersion[1]/version" ) );
     }
 
+    @Test
     public void testConfigWithPluginManagement()
         throws Exception
     {
@@ -399,6 +428,7 @@ public class PomConstructionTest
     }
 
     /** MNG-3965 */
+    @Test
     public void testExecutionConfigurationSubcollections()
         throws Exception
     {
@@ -407,6 +437,7 @@ public class PomConstructionTest
     }
 
     /** MNG-3985 */
+    @Test
     public void testMultipleRepositories()
         throws Exception
     {
@@ -415,6 +446,7 @@ public class PomConstructionTest
     }
 
     /** MNG-3965 */
+    @Test
     public void testMultipleExecutionIds()
         throws Exception
     {
@@ -423,12 +455,14 @@ public class PomConstructionTest
     }
 
     /** MNG-3997 */
+    @Test
     public void testConsecutiveEmptyElements()
         throws Exception
     {
         buildPom( "consecutive_empty_elements" );
     }
 
+    @Test
     public void testOrderOfGoalsFromPluginExecutionWithoutPluginManagement()
         throws Exception
     {
@@ -442,6 +476,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3886*/
+    @Test
     public void testOrderOfGoalsFromPluginExecutionWithPluginManagement()
         throws Exception
     {
@@ -454,6 +489,7 @@ public class PomConstructionTest
         assertEquals( "e", pom.getValue( "build/plugins[1]/executions[1]/goals[5]" ) );
     }
 
+    @Test
     public void testOrderOfPluginExecutionsWithoutPluginManagement()
         throws Exception
     {
@@ -467,6 +503,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3887 */
+    @Test
     public void testOrderOfPluginExecutionsWithPluginManagement()
         throws Exception
     {
@@ -479,6 +516,7 @@ public class PomConstructionTest
         assertEquals( "e", pom.getValue( "build/plugins[1]/executions[5]/id" ) );
     }
 
+    @Test
     public void testMergeOfPluginExecutionsWhenChildInheritsPluginVersion()
         throws Exception
     {
@@ -487,6 +525,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3943*/
+    @Test
     public void testMergeOfPluginExecutionsWhenChildAndParentUseDifferentPluginVersions()
         throws Exception
     {
@@ -495,6 +534,7 @@ public class PomConstructionTest
     }
 
 
+    @Test
     public void testInterpolationWithXmlMarkup()
         throws Exception
     {
@@ -503,6 +543,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3925 */
+    @Test
     public void testOrderOfMergedPluginExecutionsWithoutPluginManagement()
         throws Exception
     {
@@ -515,6 +556,7 @@ public class PomConstructionTest
         assertEquals( "child-2", pom.getValue( "build/plugins[1]/executions[5]/goals[1]" ) );
     }
 
+    @Test
     public void testOrderOfMergedPluginExecutionsWithPluginManagement()
         throws Exception
     {
@@ -528,6 +570,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3984*/
+    @Test
     public void testDifferentContainersWithSameId()
         throws Exception
     {
@@ -537,6 +580,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3937*/
+    @Test
     public void testOrderOfMergedPluginExecutionGoalsWithoutPluginManagement()
         throws Exception
     {
@@ -550,6 +594,7 @@ public class PomConstructionTest
         assertEquals( "parent-a", pom.getValue( "build/plugins[1]/executions[1]/goals[5]" ) );
     }
 
+    @Test
     public void testOrderOfMergedPluginExecutionGoalsWithPluginManagement()
         throws Exception
     {
@@ -563,6 +608,7 @@ public class PomConstructionTest
     }
 
     /*MNG-3938*/
+    @Test
     public void testOverridingOfInheritedPluginExecutionsWithoutPluginManagement()
         throws Exception
     {
@@ -573,6 +619,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3938 */
+    @Test
     public void testOverridingOfInheritedPluginExecutionsWithPluginManagement()
         throws Exception
     {
@@ -584,6 +631,7 @@ public class PomConstructionTest
 
 
     /* MNG-3906*/
+    @Test
     public void testOrderOfMergedPluginDependenciesWithoutPluginManagement()
         throws Exception
     {
@@ -603,6 +651,7 @@ public class PomConstructionTest
         assertEquals( "1", pom.getValue( "build/plugins[1]/dependencies[5]/version" ) );
     }
 
+    @Test
     public void testOrderOfMergedPluginDependenciesWithPluginManagement()
         throws Exception
     {
@@ -620,6 +669,7 @@ public class PomConstructionTest
         assertEquals( "1", pom.getValue( "build/plugins[1]/dependencies[5]/version" ) );
     }
 
+    @Test
     public void testInterpolationOfNestedBuildDirectories()
         throws Exception
     {
@@ -632,6 +682,7 @@ public class PomConstructionTest
                       new File( (String) pom.getValue( "properties/dir2" ) ) );
     }
 
+    @Test
     public void testAppendArtifactIdOfChildToInheritedUrls()
         throws Exception
     {
@@ -651,6 +702,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3846*/
+    @Test
     public void testAppendArtifactIdOfParentAndChildToInheritedUrls()
         throws Exception
     {
@@ -669,7 +721,7 @@ public class PomConstructionTest
         assertEquals( "https://parent.url/download", pom.getValue( "distributionManagement/downloadUrl" ) );
     }
     //*/
-
+    @Test
     public void testNonInheritedElementsInSubtreesOverriddenByChild()
         throws Exception
     {
@@ -692,6 +744,7 @@ public class PomConstructionTest
         assertEquals( null, pom.getValue( "distributionManagement/site/name" ) );
     }
 
+    @Test
     public void testXmlTextCoalescing()
         throws Exception
     {
@@ -702,6 +755,7 @@ public class PomConstructionTest
                       pom.getValue( "properties/prop2" ).toString().trim().replaceAll( "[\n\r]", "" ).length() );
     }
 
+    @Test
     public void testFullInterpolationOfNestedExpressions()
         throws Exception
     {
@@ -713,6 +767,7 @@ public class PomConstructionTest
         }
     }
 
+    @Test
     public void testInterpolationOfLegacyExpressionsThatDontIncludeTheProjectPrefix()
         throws Exception
     {
@@ -747,6 +802,7 @@ public class PomConstructionTest
         assertThat( pom.getValue( "properties/projectSiteOut" ).toString(), endsWith( "doc" ) );
     }
 
+    @Test
     public void testInterpolationWithBasedirAlignedDirectories()
         throws Exception
     {
@@ -768,6 +824,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3944*/
+    @Test
     public void testInterpolationOfBasedirInPomWithUnusualName()
         throws Exception
     {
@@ -777,6 +834,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3979 */
+    @Test
     public void testJoiningOfContainersWhenChildHasEmptyElements()
         throws Exception
     {
@@ -784,6 +842,7 @@ public class PomConstructionTest
         assertNotNull( pom );
     }
 
+    @Test
     public void testOrderOfPluginConfigurationElementsWithoutPluginManagement()
         throws Exception
     {
@@ -795,6 +854,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3827*/
+    @Test
     public void testOrderOfPluginConfigurationElementsWithPluginManagement()
         throws Exception
     {
@@ -805,6 +865,7 @@ public class PomConstructionTest
         assertEquals( "four", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[4]" ) );
     }
 
+    @Test
     public void testOrderOfPluginExecutionConfigurationElementsWithoutPluginManagement()
         throws Exception
     {
@@ -819,6 +880,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3864*/
+    @Test
     public void testOrderOfPluginExecutionConfigurationElementsWithPluginManagement()
         throws Exception
     {
@@ -833,6 +895,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3836*/
+    @Test
     public void testMergeOfInheritedPluginConfiguration()
         throws Exception
     {
@@ -852,6 +915,7 @@ public class PomConstructionTest
     }
 
     /* MNG-2591 */
+    @Test
     public void testAppendOfInheritedPluginConfigurationWithNoProfile()
         throws Exception
     {
@@ -859,6 +923,7 @@ public class PomConstructionTest
     }
 
     /* MNG-2591*/
+    @Test
     public void testAppendOfInheritedPluginConfigurationWithActiveProfile()
         throws Exception
     {
@@ -891,6 +956,7 @@ public class PomConstructionTest
     }
 
     /* MNG-4000 */
+    @Test
     public void testMultiplePluginExecutionsWithAndWithoutIdsWithoutPluginManagement()
         throws Exception
     {
@@ -900,6 +966,7 @@ public class PomConstructionTest
         assertEquals( "log-string", pom.getValue( "build/plugins[1]/executions[2]/goals[1]" ) );
     }
 
+    @Test
     public void testMultiplePluginExecutionsWithAndWithoutIdsWithPluginManagement()
         throws Exception
     {
@@ -909,6 +976,7 @@ public class PomConstructionTest
         assertEquals( "log-string", pom.getValue( "build/plugins[1]/executions[2]/goals[1]" ) );
     }
 
+    @Test
     public void testDependencyOrderWithoutPluginManagement()
         throws Exception
     {
@@ -920,6 +988,7 @@ public class PomConstructionTest
         assertEquals( "d", pom.getValue( "dependencies[4]/artifactId" ) );
     }
 
+    @Test
     public void testDependencyOrderWithPluginManagement()
         throws Exception
     {
@@ -931,6 +1000,7 @@ public class PomConstructionTest
         assertEquals( "d", pom.getValue( "dependencies[4]/artifactId" ) );
     }
 
+    @Test
     public void testBuildDirectoriesUsePlatformSpecificFileSeparator()
         throws Exception
     {
@@ -947,6 +1017,7 @@ public class PomConstructionTest
     }
 
     /* MNG-4008 */
+    @Test
     public void testMergedFilterOrder()
         throws Exception
     {
@@ -963,6 +1034,7 @@ public class PomConstructionTest
     }
 
     /** MNG-4027*/
+    @Test
     public void testProfileInjectedDependencies()
         throws Exception
     {
@@ -975,6 +1047,7 @@ public class PomConstructionTest
     }
 
     /** IT-0021*/
+    @Test
     public void testProfileDependenciesMultipleProfiles()
         throws Exception
     {
@@ -982,6 +1055,7 @@ public class PomConstructionTest
         assertEquals(2,  ( (List<?>) pom.getValue( "dependencies" ) ).size() );
     }
 
+    @Test
     public void testDependencyInheritance()
         throws Exception
     {
@@ -991,6 +1065,7 @@ public class PomConstructionTest
     }
 
     /** MNG-4034 */
+    @Test
     public void testManagedProfileDependency()
         throws Exception
     {
@@ -1005,6 +1080,7 @@ public class PomConstructionTest
     }
 
     /** MNG-4040 */
+    @Test
     public void testProfileModuleInheritance()
         throws Exception
     {
@@ -1013,6 +1089,7 @@ public class PomConstructionTest
     }
 
     /** MNG-3621 */
+    @Test
     public void testUncPath()
         throws Exception
     {
@@ -1021,6 +1098,7 @@ public class PomConstructionTest
     }
 
     /** MNG-2006 */
+    @Test
     public void testUrlAppendWithChildPathAdjustment()
         throws Exception
     {
@@ -1033,6 +1111,7 @@ public class PomConstructionTest
     }
 
     /** MNG-0479 */
+    @Test
     public void testRepoInheritance()
         throws Exception
     {
@@ -1041,6 +1120,7 @@ public class PomConstructionTest
         assertEquals( "it0043", pom.getValue( "repositories[1]/name" ) );
     }
 
+    @Test
     public void testEmptyScm()
         throws Exception
     {
@@ -1048,6 +1128,7 @@ public class PomConstructionTest
         assertNull( pom.getValue( "scm" ) );
     }
 
+    @Test
     public void testPluginConfigurationUsingAttributesWithoutPluginManagement()
         throws Exception
     {
@@ -1060,6 +1141,7 @@ public class PomConstructionTest
     }
 
     /** MNG-4053*/
+    @Test
     public void testPluginConfigurationUsingAttributesWithPluginManagement()
         throws Exception
     {
@@ -1071,6 +1153,7 @@ public class PomConstructionTest
         assertEquals( null, pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@overwrite" ) );
     }
 
+    @Test
     public void testPluginConfigurationUsingAttributesWithPluginManagementAndProfile()
         throws Exception
     {
@@ -1082,6 +1165,7 @@ public class PomConstructionTest
         assertEquals( null, pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@overwrite" ) );
     }
 
+    @Test
     public void testPomEncoding()
         throws Exception
     {
@@ -1092,6 +1176,7 @@ public class PomConstructionTest
     }
 
     /* MNG-4070 */
+    @Test
     public void testXmlWhitespaceHandling()
         throws Exception
     {
@@ -1100,6 +1185,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3760*/
+    @Test
     public void testInterpolationOfBaseUri()
         throws Exception
     {
@@ -1108,6 +1194,7 @@ public class PomConstructionTest
     }
 
     /* MNG-6386 */
+    @Test
     public void testInterpolationOfRfc3986BaseUri()
         throws Exception
     {
@@ -1118,6 +1205,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3811*/
+    @Test
     public void testReportingPluginConfig()
         throws Exception
     {
@@ -1130,6 +1218,7 @@ public class PomConstructionTest
         assertEquals( "true", pom.getValue( "reporting/plugins[1]/configuration/booleanParam" ) );
     }
 
+    @Test
     public void testPropertiesNoDuplication()
         throws Exception
     {
@@ -1138,6 +1227,7 @@ public class PomConstructionTest
         assertEquals( "child", pom.getValue( "properties/pomProfile" ) );
     }
 
+    @Test
     public void testPomInheritance()
         throws Exception
     {
@@ -1146,6 +1236,7 @@ public class PomConstructionTest
         assertEquals( "jar", pom.getValue( "packaging" ) );
     }
 
+    @Test
     public void testCompleteModelWithoutParent()
         throws Exception
     {
@@ -1154,6 +1245,7 @@ public class PomConstructionTest
         testCompleteModel( pom );
     }
 
+    @Test
     public void testCompleteModelWithParent()
         throws Exception
     {
@@ -1369,7 +1461,7 @@ public class PomConstructionTest
     }
 
     /* MNG-2309*/
-
+    @Test
     public void testProfileInjectionOrder()
         throws Exception
     {
@@ -1378,6 +1470,7 @@ public class PomConstructionTest
         assertEquals( "e", pom.getValue( "properties[1]/pomProperty" ) );
     }
 
+    @Test
     public void testPropertiesInheritance()
         throws Exception
     {
@@ -1388,6 +1481,7 @@ public class PomConstructionTest
     }
 
     /* MNG-4102*/
+    @Test
     public void testInheritedPropertiesInterpolatedWithValuesFromChildWithoutProfiles()
         throws Exception
     {
@@ -1398,6 +1492,7 @@ public class PomConstructionTest
     }
 
     /* MNG-4102 */
+    @Test
     public void testInheritedPropertiesInterpolatedWithValuesFromChildWithActiveProfiles()
         throws Exception
     {
@@ -1411,6 +1506,7 @@ public class PomConstructionTest
     }
 
     /* MNG-3545 */
+    @Test
     public void testProfileDefaultActivation()
         throws Exception
     {
@@ -1421,6 +1517,7 @@ public class PomConstructionTest
     }
 
     /* MNG-1995 */
+    @Test
     public void testBooleanInterpolation()
         throws Exception
     {
@@ -1431,6 +1528,7 @@ public class PomConstructionTest
 
 
     /* MNG-3899 */
+    @Test
     public void testBuildExtensionInheritance()
         throws Exception
     {
@@ -1443,6 +1541,7 @@ public class PomConstructionTest
     }
 
     /*MNG-1957*/
+    @Test
     public void testJdkActivation()
         throws Exception
     {
@@ -1457,6 +1556,7 @@ public class PomConstructionTest
     }
 
     /* MNG-2174 */
+    @Test
     public void testProfilePluginMngDependencies()
         throws Exception
     {
@@ -1465,6 +1565,7 @@ public class PomConstructionTest
     }
 
     /** MNG-4116 */
+    @Test
     public void testPercentEncodedUrlsMustNotBeDecoded()
         throws Exception
     {
@@ -1483,6 +1584,7 @@ public class PomConstructionTest
                       pom.getValue( "distributionManagement/site/url" ) );
     }
 
+    @Test
     public void testPluginManagementInheritance()
         throws Exception
     {
@@ -1491,6 +1593,7 @@ public class PomConstructionTest
                       pom.getValue( "build/pluginManagement/plugins[@artifactId='maven-compiler-plugin']/version" ) );
     }
 
+    @Test
     public void testProfilePlugins()
         throws Exception
     {
@@ -1499,6 +1602,7 @@ public class PomConstructionTest
         assertEquals( "maven-assembly2-plugin", pom.getValue( "build/plugins[2]/artifactId" ) );
     }
 
+    @Test
     public void testPluginInheritanceSimple()
         throws Exception
     {
@@ -1506,6 +1610,7 @@ public class PomConstructionTest
         assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins" ) ).size() );
     }
 
+    @Test
     public void testPluginManagementDuplicate()
         throws Exception
     {
@@ -1513,6 +1618,7 @@ public class PomConstructionTest
         assertEquals( 8, ( (List<?>) pom.getValue( "build/pluginManagement/plugins" ) ).size() );
     }
 
+    @Test
     public void testDistributionManagement()
         throws Exception
     {
@@ -1520,6 +1626,7 @@ public class PomConstructionTest
         assertEquals( "legacy", pom.getValue( "distributionManagement/repository/layout" ) );
     }
 
+    @Test
     public void testDependencyScopeInheritance()
         throws Exception
     {
@@ -1528,6 +1635,7 @@ public class PomConstructionTest
         assertEquals( "compile", scope );
     }
 
+    @Test
     public void testDependencyScope()
         throws Exception
     {
@@ -1541,6 +1649,7 @@ public class PomConstructionTest
         buildPom( "dependency-management-with-interpolation/sub" );
     }
 
+    @Test
     public void testInterpolationWithSystemProperty()
         throws Exception
     {
@@ -1551,6 +1660,7 @@ public class PomConstructionTest
     }
 
     /* MNG-4129 */
+    @Test
     public void testPluginExecutionInheritanceWhenChildDoesNotDeclarePlugin()
         throws Exception
     {
@@ -1562,6 +1672,7 @@ public class PomConstructionTest
         assertEquals( "inherited-execution", executions.get( 0 ).getId() );
     }
 
+    @Test
     public void testPluginExecutionInheritanceWhenChildDoesDeclarePluginAsWell()
         throws Exception
     {
@@ -1574,6 +1685,7 @@ public class PomConstructionTest
     }
 
     /* MNG-4193 */
+    @Test
     public void testValidationErrorUponNonUniqueArtifactRepositoryId()
         throws Exception
     {
@@ -1589,6 +1701,7 @@ public class PomConstructionTest
     }
 
     /* MNG-4193 */
+    @Test
     public void testValidationErrorUponNonUniquePluginRepositoryId()
         throws Exception
     {
@@ -1604,6 +1717,7 @@ public class PomConstructionTest
     }
 
     /* MNG-4193 */
+    @Test
     public void testValidationErrorUponNonUniqueArtifactRepositoryIdInProfile()
         throws Exception
     {
@@ -1619,6 +1733,7 @@ public class PomConstructionTest
     }
 
     /* MNG-4193 */
+    @Test
     public void testValidationErrorUponNonUniquePluginRepositoryIdInProfile()
         throws Exception
     {
@@ -1634,6 +1749,7 @@ public class PomConstructionTest
     }
 
     /** MNG-3843 */
+    @Test
     public void testPrerequisitesAreNotInherited()
         throws Exception
     {
@@ -1641,6 +1757,7 @@ public class PomConstructionTest
         assertSame( null, pom.getValue( "prerequisites" ) );
     }
 
+    @Test
     public void testLicensesAreInheritedButNotAggregated()
         throws Exception
     {
@@ -1650,6 +1767,7 @@ public class PomConstructionTest
         assertEquals( "https://child.url/license", pom.getValue( "licenses[1]/url" ) );
     }
 
+    @Test
     public void testDevelopersAreInheritedButNotAggregated()
         throws Exception
     {
@@ -1658,6 +1776,7 @@ public class PomConstructionTest
         assertEquals( "child-developer", pom.getValue( "developers[1]/name" ) );
     }
 
+    @Test
     public void testContributorsAreInheritedButNotAggregated()
         throws Exception
     {
@@ -1666,6 +1785,7 @@ public class PomConstructionTest
         assertEquals( "child-contributor", pom.getValue( "contributors[1]/name" ) );
     }
 
+    @Test
     public void testMailingListsAreInheritedButNotAggregated()
         throws Exception
     {
@@ -1674,6 +1794,7 @@ public class PomConstructionTest
         assertEquals( "child-mailing-list", pom.getValue( "mailingLists[1]/name" ) );
     }
 
+    @Test
     public void testPluginInheritanceOrder()
         throws Exception
     {
@@ -1688,6 +1809,7 @@ public class PomConstructionTest
         assertEquals( "maven-it-plugin-configuration", pom.getValue( "reporting/plugins[3]/artifactId" ) );
     }
 
+    @Test
     public void testCliPropsDominateProjectPropsDuringInterpolation()
         throws Exception
     {
@@ -1698,6 +1820,7 @@ public class PomConstructionTest
         assertEquals( "PASSED", pom.getValue( "properties/interpolatedProperty" ) );
     }
 
+    @Test
     public void testParentPomPackagingMustBePom()
         throws Exception
     {
@@ -1713,6 +1836,7 @@ public class PomConstructionTest
     }
 
     /** MNG-522, MNG-3018 */
+    @Test
     public void testManagedPluginConfigurationAppliesToImplicitPluginsIntroducedByPackaging()
         throws Exception
     {
@@ -1723,6 +1847,7 @@ public class PomConstructionTest
                       pom.getValue( "build/plugins[@artifactId='maven-it-plugin-log-file']/configuration/logFile" ) );
     }
 
+    @Test
     public void testDefaultPluginsExecutionContributedByPackagingExecuteBeforeUserDefinedExecutions()
         throws Exception
     {
@@ -1738,6 +1863,7 @@ public class PomConstructionTest
         assertEquals( "test-2", executions.get( 3 ).getId() );
     }
 
+    @Test
     public void testPluginDeclarationsRetainPomOrderAfterInjectionOfDefaultPlugins()
         throws Exception
     {
@@ -1764,6 +1890,7 @@ public class PomConstructionTest
     }
 
     /** MNG-4415 */
+    @Test
     public void testPluginOrderAfterMergingWithInheritedPlugins()
         throws Exception
     {
@@ -1793,6 +1920,7 @@ public class PomConstructionTest
     }
 
     /** MNG-4416 */
+    @Test
     public void testPluginOrderAfterMergingWithInjectedPlugins()
         throws Exception
     {
@@ -1821,6 +1949,7 @@ public class PomConstructionTest
         assertEquals( actual, expected );
     }
 
+    @Test
     public void testProjectArtifactIdIsNotInheritedButMandatory()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
index 74c19a8..025f196 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
@@ -19,14 +19,6 @@ package org.apache.maven.project;
  * under the License.
  */
 
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.empty;
-import static org.hamcrest.Matchers.greaterThan;
-import static org.hamcrest.Matchers.hasKey;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThrows;
-
 import java.io.File;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -42,6 +34,18 @@ import org.apache.maven.model.building.FileModelSource;
 import org.apache.maven.model.building.ModelBuildingRequest;
 import org.apache.maven.model.building.ModelSource;
 import org.apache.maven.shared.utils.io.FileUtils;
+import org.junit.Test;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.empty;
+import static org.hamcrest.Matchers.greaterThan;
+import static org.hamcrest.Matchers.hasKey;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
 
 
 public class ProjectBuilderTest
@@ -53,6 +57,7 @@ public class ProjectBuilderTest
         return "src/test/projects/project-builder";
     }
 
+    @Test
     public void testSystemScopeDependencyIsPresentInTheCompileClasspathElements()
         throws Exception
     {
@@ -70,6 +75,7 @@ public class ProjectBuilderTest
         project.getCompileClasspathElements();
     }
 
+    @Test
     public void testBuildFromModelSource()
         throws Exception
     {
@@ -84,6 +90,7 @@ public class ProjectBuilderTest
         assertNotNull( result.getProject().getParentFile() );
     }
 
+    @Test
     public void testVersionlessManagedDependency()
         throws Exception
     {
@@ -99,6 +106,7 @@ public class ProjectBuilderTest
                         + "@ line 9, column 17" ) );
     }
 
+    @Test
     public void testResolveDependencies()
         throws Exception
     {
@@ -120,6 +128,7 @@ public class ProjectBuilderTest
         assertEquals( 1, mavenProject.getArtifacts().size() );
     }
 
+    @Test
     public void testDontResolveDependencies()
         throws Exception
     {
@@ -139,6 +148,7 @@ public class ProjectBuilderTest
         assertEquals( 0, mavenProject.getArtifacts().size() );
     }
 
+    @Test
     public void testReadModifiedPoms() throws Exception {
         String initialValue = System.setProperty( DefaultProjectBuilder.DISABLE_GLOBAL_MODEL_CACHE_SYSTEM_PROPERTY, Boolean.toString( true ) );
         // TODO a similar test should be created to test the dependency management (basically all usages
@@ -179,6 +189,7 @@ public class ProjectBuilderTest
         }
     }
 
+    @Test
     public void testReadErroneousMavenProjectContainsReference()
         throws Exception
     {
@@ -212,6 +223,7 @@ public class ProjectBuilderTest
         assertEquals( pomFile, project2.getFile() );
     }
 
+    @Test
     public void testReadInvalidPom()
         throws Exception
     {
@@ -237,6 +249,7 @@ public class ProjectBuilderTest
         assertThat( pex.getMessage(), containsString( "expected START_TAG or END_TAG not TEXT" ) );
     }
 
+    @Test
     public void testReadParentAndChildWithRegularVersionSetParentFile()
         throws Exception
     {
@@ -297,6 +310,7 @@ public class ProjectBuilderTest
         }
     }
 
+    @Test
     public void testBuildProperties()
             throws Exception
     {
@@ -314,6 +328,7 @@ public class ProjectBuilderTest
         assertEquals( 1, project.getResources().size() );
     }
 
+    @Test
     public void testPropertyInPluginManagementGroupId()
             throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java b/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
index fb1c642..c83a692 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
@@ -19,9 +19,6 @@ package org.apache.maven.project;
  * under the License.
  */
 
-import static org.hamcrest.Matchers.startsWith;
-import static org.junit.Assert.assertThat;
-
 import java.io.File;
 import java.util.Collections;
 import java.util.List;
@@ -36,6 +33,13 @@ import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.RepositorySystem;
 import org.eclipse.aether.impl.RemoteRepositoryManager;
 import org.eclipse.aether.repository.RemoteRepository;
+import org.junit.Test;
+
+import static org.hamcrest.Matchers.startsWith;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
 
 /**
  * Test cases for the project {@code ModelResolver} implementation.
@@ -54,6 +58,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         super();
     }
 
+    @Test
     public void testResolveParentThrowsUnresolvableModelExceptionWhenNotFound() throws Exception
     {
         final Parent parent = new Parent();
@@ -73,6 +78,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         }
     }
 
+    @Test
     public void testResolveParentThrowsUnresolvableModelExceptionWhenNoMatchingVersionFound() throws Exception
     {
         final Parent parent = new Parent();
@@ -93,6 +99,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         }
     }
 
+    @Test
     public void testResolveParentThrowsUnresolvableModelExceptionWhenUsingRangesWithoutUpperBound() throws Exception
     {
         final Parent parent = new Parent();
@@ -113,6 +120,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         }
     }
 
+    @Test
     public void testResolveParentSuccessfullyResolvesExistingParentWithoutRange() throws Exception
     {
         final Parent parent = new Parent();
@@ -124,6 +132,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         assertEquals( "1", parent.getVersion() );
     }
 
+    @Test
     public void testResolveParentSuccessfullyResolvesExistingParentUsingHighestVersion() throws Exception
     {
         final Parent parent = new Parent();
@@ -135,6 +144,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         assertEquals( "1", parent.getVersion() );
     }
 
+    @Test
     public void testResolveDependencyThrowsUnresolvableModelExceptionWhenNotFound() throws Exception
     {
         final Dependency dependency = new Dependency();
@@ -154,6 +164,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         }
     }
 
+    @Test
     public void testResolveDependencyThrowsUnresolvableModelExceptionWhenNoMatchingVersionFound() throws Exception
     {
         final Dependency dependency = new Dependency();
@@ -174,6 +185,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         }
     }
 
+    @Test
     public void testResolveDependencyThrowsUnresolvableModelExceptionWhenUsingRangesWithoutUpperBound() throws Exception
     {
         final Dependency dependency = new Dependency();
@@ -194,6 +206,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         }
     }
 
+    @Test
     public void testResolveDependencySuccessfullyResolvesExistingDependencyWithoutRange() throws Exception
     {
         final Dependency dependency = new Dependency();
@@ -205,6 +218,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         assertEquals( "1", dependency.getVersion() );
     }
 
+    @Test
     public void testResolveDependencySuccessfullyResolvesExistingDependencyUsingHighestVersion() throws Exception
     {
         final Dependency dependency = new Dependency();
diff --git a/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java b/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
index c039934..e6d8710 100644
--- a/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
@@ -29,32 +29,35 @@ import org.apache.maven.project.artifact.DefaultMavenMetadataCache.CacheKey;
 import org.apache.maven.repository.DelegatingLocalArtifactRepository;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.TestRepositorySystem;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
 
 /**
  * @author Igor Fedorenko
  */
 public class DefaultMavenMetadataCacheTest
-    extends TestCase
 {
     private RepositorySystem repositorySystem;
 
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
-        super.setUp();
         repositorySystem = new TestRepositorySystem( null, null );
     }
 
-    @Override
-    protected void tearDown()
+    @After
+    public void tearDown()
         throws Exception
     {
         repositorySystem = null;
-        super.tearDown();
     }
 
+    @Test
     public void testCacheKey()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCacheTest.java b/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCacheTest.java
index cbe4b35..d02da76 100644
--- a/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCacheTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCacheTest.java
@@ -19,29 +19,28 @@ package org.apache.maven.project.artifact;
  * under the License.
  */
 
-import static org.junit.Assert.assertArrayEquals;
-
 import java.util.LinkedHashSet;
 import java.util.Set;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DefaultArtifact;
+import org.junit.Before;
+import org.junit.Test;
 
-import junit.framework.TestCase;
-
-public class DefaultProjectArtifactsCacheTest extends TestCase
+import static org.junit.Assert.assertArrayEquals;
+public class DefaultProjectArtifactsCacheTest
 {
 
     private ProjectArtifactsCache cache;
 
-    @Override
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
-        super.setUp();
         cache = new DefaultProjectArtifactsCache();
     }
 
+    @Test
     public void testProjectDependencyOrder() throws Exception
     {
         ProjectArtifactsCache.Key project1 = new ProjectArtifactsCache.Key(){};
diff --git a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
index beaa149..5b3beac 100644
--- a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
@@ -19,10 +19,13 @@ package org.apache.maven.project.artifact;
  * under the License.
  */
 
+import org.apache.maven.PlexusTestCase;
 import org.apache.maven.repository.RepositorySystem;
 import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusTestCase;
+import org.junit.After;
+import org.junit.Before;
 import org.junit.Ignore;
+import org.junit.Test;
 
 import javax.inject.Inject;
 import java.util.Collections;
@@ -44,20 +47,23 @@ public class MavenMetadataSourceTest
     }
 
     @Override
-    protected void setUp() throws Exception
+    @Before
+    public void setUp()
+        throws Exception
     {
         super.setUp();
         getContainer();
     }
 
-    @Override
-    protected void tearDown()
+    @After
+    public void tearDown()
         throws Exception
     {
         repositorySystem = null;
         super.tearDown();
     }
 
+    @Test
     public void testShouldNotCarryExclusionsOverFromDependencyToDependency()
         throws Exception
     {
@@ -144,6 +150,7 @@ public class MavenMetadataSourceTest
         assertEquals( "default scope NOT back-propagated to dependency.", Artifact.SCOPE_COMPILE, dep.getScope() );
     }
 
+    @Test
     public void testShouldUseInjectedTestScopeFromDependencyManagement()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java
index 8b6454d..f0c07b3 100644
--- a/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java
@@ -27,6 +27,10 @@ import org.apache.maven.model.PluginExecution;
 import org.apache.maven.project.AbstractMavenProjectTestCase;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 /**
  * @author Jason van Zyl
@@ -34,6 +38,7 @@ import org.codehaus.plexus.util.xml.Xpp3Dom;
 public class CanonicalProjectBuilderTest
     extends AbstractMavenProjectTestCase
 {
+    @Test
     public void testProjectBuilder()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
index 9e5d6ea..a4f61b6 100644
--- a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
+++ b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
@@ -23,7 +23,13 @@ import org.apache.maven.rtinfo.RuntimeInformation;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import javax.inject.Inject;
 import java.util.Collections;
@@ -44,12 +50,6 @@ public class DefaultRuntimeInformationTest
     }
 
     @Override
-    protected void setUp() throws Exception
-    {
-        super.setUp();
-        getContainer();
-    }
-    @Override
     protected synchronized void setupContainer()
     {
         super.setupContainer();
@@ -58,6 +58,7 @@ public class DefaultRuntimeInformationTest
                 binder -> binder.requestInjection( this ) );
     }
 
+    @Test
     public void testGetMavenVersion()
     {
         String mavenVersion = rtInfo.getMavenVersion();
@@ -65,6 +66,7 @@ public class DefaultRuntimeInformationTest
         assertTrue( mavenVersion.length() > 0 );
     }
 
+    @Test
     public void testIsMavenVersion()
     {
         assertTrue( rtInfo.isMavenVersion( "2.0" ) );
diff --git a/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java b/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
index 4d66b0f..db75136 100644
--- a/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
+++ b/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
@@ -19,6 +19,10 @@ package org.apache.maven.settings;
  * under the License.
  */
 
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.model.Profile;
 import org.apache.maven.project.DefaultProjectBuilder;
@@ -28,15 +32,19 @@ import org.apache.maven.project.harness.PomTestWrapper;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
+import org.checkerframework.checker.units.qual.A;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.PlexusTestCase;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
 import javax.inject.Inject;
 import java.io.File;
@@ -44,6 +52,8 @@ import java.io.IOException;
 import java.io.Reader;
 import java.util.Collections;
 
+import static org.junit.Assert.assertEquals;
+
 public class PomConstructionWithSettingsTest
     extends PlexusTestCase
 {
@@ -76,22 +86,16 @@ public class PomConstructionWithSettingsTest
                 binder -> binder.requestInjection( this ) );
     }
 
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
+        super.setUp();
         getContainer();
         testDirectory = new File( getBasedir(), BASE_POM_DIR );
     }
 
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        projectBuilder = null;
-
-        super.tearDown();
-    }
-
+    @Test
     public void testSettingsNoPom()
         throws Exception
     {
@@ -102,6 +106,7 @@ public class PomConstructionWithSettingsTest
     /**
      * MNG-4107
      */
+    @Test
     public void testPomAndSettingsInterpolation()
         throws Exception
     {
@@ -115,6 +120,7 @@ public class PomConstructionWithSettingsTest
     /**
      * MNG-4107
      */
+    @Test
     public void testRepositories()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java b/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java
index 78818c5..4431a75 100644
--- a/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java
+++ b/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java
@@ -19,17 +19,20 @@ package org.apache.maven.settings;
  * under the License.
  */
 
-import junit.framework.TestCase;
-
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
 import java.util.Random;
 
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 public class SettingsUtilsTest
-    extends TestCase
 {
 
+    @Test
     public void testShouldAppendRecessivePluginGroupIds()
     {
         Settings dominant = new Settings();
@@ -50,6 +53,7 @@ public class SettingsUtilsTest
         assertEquals( "org.codehaus.plexus", pluginGroups.get( 2 ) );
     }
 
+    @Test
     public void testRoundTripProfiles()
     {
         Random entropy = new Random();
diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java
index c102b11..8da23be 100644
--- a/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java
+++ b/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java
@@ -19,24 +19,23 @@
 
 package org.apache.maven.toolchain;
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  *
  * @author mkleint
  */
 public class RequirementMatcherFactoryTest
-    extends TestCase
 {
 
-    public RequirementMatcherFactoryTest( String testName )
-    {
-        super( testName );
-    }
-
     /**
      * Test of createExactMatcher method, of class RequirementMatcherFactory.
      */
+    @Test
     public void testCreateExactMatcher()
     {
         RequirementMatcher matcher;
@@ -50,6 +49,7 @@ public class RequirementMatcherFactoryTest
     /**
      * Test of createVersionMatcher method, of class RequirementMatcherFactory.
      */
+    @Test
     public void testCreateVersionMatcher()
     {
         RequirementMatcher matcher;
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java
index 2c82a72..14e6bac 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java
@@ -29,15 +29,13 @@ import java.util.List;
 
 import org.apache.commons.cli.Option;
 import org.codehaus.plexus.util.FileUtils;
-
-import junit.framework.TestCase;
+import org.junit.Test;
 
 /**
  * Pseudo test to generate documentation fragment about supported CLI options. TODO such documentation generation code
  * should not be necessary as unit test but should be run during site generation (Velocity? Doxia macro?)
  */
 public class CLIManagerDocumentationTest
-    extends TestCase
 {
     private final static String LS = System.lineSeparator();
 
@@ -98,6 +96,7 @@ public class CLIManagerDocumentationTest
         return sb.toString();
     }
 
+    @Test
     public void testOptionsAsHtml()
         throws IOException
     {
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/CLIReportingUtilsTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/CLIReportingUtilsTest.java
index 65488c7..0d1262c 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/CLIReportingUtilsTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/CLIReportingUtilsTest.java
@@ -19,12 +19,14 @@ package org.apache.maven.cli;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 public class CLIReportingUtilsTest
-    extends TestCase
 {
 
+    @Test
     public void testFormatDuration()
     {
         assertEquals( "0.001 s", CLIReportingUtils.formatDuration( 1 ) );
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java
index 9ef31b3..ed384d0 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java
@@ -19,16 +19,19 @@ package org.apache.maven.model.building;
  * under the License.
  */
 
-import junit.framework.TestCase;
-
 import java.io.File;
 import java.util.Properties;
 
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 /**
  * @author Konstantin Perikov
  */
 public class ComplexActivationTest
-        extends TestCase
 {
 
     private File getPom( String name )
@@ -36,6 +39,7 @@ public class ComplexActivationTest
         return new File( "src/test/resources/poms/factory/" + name + ".xml" ).getAbsoluteFile();
     }
 
+    @Test
     public void testAndConditionInActivation()
             throws Exception
     {
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java
index 90b65a4..1f869d0 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java
@@ -22,14 +22,15 @@ package org.apache.maven.model.building;
 import java.io.File;
 
 import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.junit.Test;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 /**
  * @author Benjamin Bentmann
  */
 public class DefaultModelBuilderFactoryTest
-    extends TestCase
 {
 
     private File getPom( String name )
@@ -37,6 +38,7 @@ public class DefaultModelBuilderFactoryTest
         return new File( "src/test/resources/poms/factory/" + name + ".xml" ).getAbsoluteFile();
     }
 
+    @Test
     public void testCompleteWiring()
         throws Exception
     {
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/building/FileModelSourceTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/building/FileModelSourceTest.java
index 996adf8..569cfc9 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/building/FileModelSourceTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/building/FileModelSourceTest.java
@@ -18,13 +18,16 @@ package org.apache.maven.model.building;
  * specific language governing permissions and limitations
  * under the License.
  */
+
 import java.io.File;
 import java.io.IOException;
+
+import org.apache.commons.lang3.SystemUtils;
+import org.junit.Test;
+
 import static junit.framework.TestCase.assertFalse;
 import static junit.framework.TestCase.assertTrue;
-import org.apache.commons.lang3.SystemUtils;
 import static org.junit.Assume.assumeTrue;
-import org.junit.Test;
 
 /**
  * Test that validate the solution of MNG-6261 issue
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java
index 9dd3f55..1c8b29b 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java
@@ -19,9 +19,6 @@ package org.apache.maven.model.building;
  * under the License.
  */
 
-import static org.hamcrest.Matchers.hasItems;
-import static org.junit.Assert.assertThat;
-
 import java.lang.reflect.Method;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
@@ -33,6 +30,9 @@ import org.apache.maven.model.building.DefaultModelBuilder.FileToRawModelMerger;
 import org.apache.maven.model.merge.ModelMerger;
 import org.junit.Test;
 
+import static org.hamcrest.Matchers.hasItems;
+import static org.junit.Assert.assertThat;
+
 public class FileToRawModelMergerTest
 {
 
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/building/SimpleProblemCollector.java b/maven-model-builder/src/test/java/org/apache/maven/model/building/SimpleProblemCollector.java
index 64e9b38..b311d77 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/building/SimpleProblemCollector.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/building/SimpleProblemCollector.java
@@ -24,7 +24,6 @@ import java.util.List;
 
 import org.apache.maven.model.Model;
 
-
 /**
  * A simple model problem collector for testing the model building components.
  *
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
index 2b1eed8..777c47d 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
@@ -19,6 +19,17 @@ package org.apache.maven.model.inheritance;
  * under the License.
  */
 
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Path;
+import java.util.function.Consumer;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.TransformerConfigurationException;
+
+import org.xml.sax.SAXException;
+import org.xml.sax.ext.LexicalHandler;
+
 import org.apache.maven.model.Model;
 import org.apache.maven.model.building.AbstractModelSourceTransformer;
 import org.apache.maven.model.building.SimpleProblemCollector;
@@ -27,27 +38,18 @@ import org.apache.maven.model.io.DefaultModelReader;
 import org.apache.maven.model.io.DefaultModelWriter;
 import org.apache.maven.model.io.ModelWriter;
 import org.apache.maven.xml.sax.filter.AbstractSAXFilter;
-import org.xml.sax.SAXException;
-import org.xml.sax.ext.LexicalHandler;
+import org.junit.Before;
+import org.junit.Test;
 import org.xmlunit.matchers.CompareMatcher;
 
-import junit.framework.TestCase;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Path;
-import java.util.function.Consumer;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerConfigurationException;
-
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 /**
  * @author Hervé Boutemy
  */
 public class DefaultInheritanceAssemblerTest
-    extends TestCase
 {
     private DefaultModelReader reader;
 
@@ -55,12 +57,10 @@ public class DefaultInheritanceAssemblerTest
 
     private InheritanceAssembler assembler;
 
-    @Override
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
-        super.setUp();
-
         reader = new DefaultModelReader();
         reader.setTransformer( new AbstractModelSourceTransformer()
         {
@@ -87,6 +87,7 @@ public class DefaultInheritanceAssemblerTest
         return reader.read( getPom( name ), null );
     }
 
+    @Test
     public void testPluginConfiguration()
         throws Exception
     {
@@ -98,6 +99,7 @@ public class DefaultInheritanceAssemblerTest
      * and child directory == artifactId
      * @throws IOException Model read problem
      */
+    @Test
     public void testUrls()
         throws Exception
     {
@@ -108,6 +110,7 @@ public class DefaultInheritanceAssemblerTest
      * Flat directory structure: parent &amp; child POMs in sibling directories, child directory == artifactId.
      * @throws IOException Model read problem
      */
+    @Test
     public void testFlatUrls()
         throws IOException
     {
@@ -118,6 +121,7 @@ public class DefaultInheritanceAssemblerTest
      * MNG-5951 MNG-6059 child.x.y.inherit.append.path="false" test
      * @throws Exception
      */
+    @Test
     public void testNoAppendUrls()
         throws Exception
     {
@@ -128,6 +132,7 @@ public class DefaultInheritanceAssemblerTest
      * MNG-5951 special case test: inherit with partial override
      * @throws Exception
      */
+    @Test
     public void testNoAppendUrls2()
         throws Exception
     {
@@ -138,6 +143,7 @@ public class DefaultInheritanceAssemblerTest
      * MNG-5951 special case test: child.x.y.inherit.append.path="true" in child should not reset content
      * @throws Exception
      */
+    @Test
     public void testNoAppendUrls3()
         throws Exception
     {
@@ -150,6 +156,7 @@ public class DefaultInheritanceAssemblerTest
      * This is why MNG-5000 fix in code is marked as bad practice (uses file names)
      * @throws IOException Model read problem
      */
+    @Test
     public void testFlatTrickyUrls()
         throws IOException
     {
@@ -189,6 +196,7 @@ public class DefaultInheritanceAssemblerTest
         }
     }
 
+    @Test
     public void testWithEmptyUrl()
         throws IOException
     {
@@ -232,6 +240,7 @@ public class DefaultInheritanceAssemblerTest
         assertThat( actual, CompareMatcher.isIdenticalTo( expected ).ignoreComments().ignoreWhitespace() );
     }
 
+    @Test
     public void testModulePathNotArtifactId()
         throws IOException
     {
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
index 01cac27..d32aa68 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
@@ -19,6 +19,15 @@ package org.apache.maven.model.interpolation;
  * under the License.
  */
 
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import java.util.TimeZone;
+
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Model;
@@ -29,20 +38,12 @@ import org.apache.maven.model.Scm;
 import org.apache.maven.model.building.DefaultModelBuildingRequest;
 import org.apache.maven.model.building.ModelBuildingRequest;
 import org.apache.maven.model.building.SimpleProblemCollector;
-
 import org.junit.Before;
 import org.junit.Test;
 
-import java.io.File;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import java.util.TimeZone;
-
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author jdcasey
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java
index 8af32fc..56dc49c 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java
@@ -22,11 +22,13 @@ package org.apache.maven.model.interpolation;
 import java.util.Date;
 import java.util.Properties;
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
 
 public class MavenBuildTimestampTest
-    extends TestCase
 {
+    @Test
     public void testMavenBuildTimestampUsesUTC()
     {
         Properties interpolationProperties = new Properties();
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
index dbb72c4..0d27cae 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
@@ -19,6 +19,19 @@ package org.apache.maven.model.interpolation;
  * under the License.
  */
 
+import java.io.File;
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.Callable;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.Future;
+import java.util.concurrent.FutureTask;
+
 import org.apache.maven.model.InputLocation;
 import org.apache.maven.model.InputSource;
 import org.apache.maven.model.Model;
@@ -27,14 +40,6 @@ import org.apache.maven.model.building.ModelBuildingRequest;
 import org.apache.maven.model.building.SimpleProblemCollector;
 import org.junit.Test;
 
-import java.io.File;
-import java.lang.reflect.Field;
-import java.util.*;
-import java.util.concurrent.Callable;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.Future;
-import java.util.concurrent.FutureTask;
-
 import static org.hamcrest.CoreMatchers.anyOf;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/merge/MavenModelMergerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/merge/MavenModelMergerTest.java
index c23be0f..906a8b2 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/merge/MavenModelMergerTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/merge/MavenModelMergerTest.java
@@ -20,9 +20,6 @@ package org.apache.maven.model.merge;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
 import java.util.Collections;
 
 import org.apache.maven.model.Model;
@@ -30,6 +27,9 @@ import org.apache.maven.model.Prerequisites;
 import org.apache.maven.model.Profile;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
 public class MavenModelMergerTest
 {
     private MavenModelMerger modelMerger = new MavenModelMerger();
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java
index 095ff62..76135e2 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model.path;
  * under the License.
  */
 
+import org.junit.Test;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
-import org.junit.Test;
-
 /**
  * @author Benjamin Bentmann
  */
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java
index 5198d04..8544d2a 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java
@@ -1,7 +1,5 @@
 package org.apache.maven.model.profile.activation;
 
-import java.util.Objects;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -21,14 +19,17 @@ import java.util.Objects;
  * under the License.
  */
 
+import java.util.Objects;
 import java.util.Properties;
 
 import org.apache.maven.model.Profile;
 import org.apache.maven.model.building.SimpleProblemCollector;
 import org.apache.maven.model.profile.DefaultProfileActivationContext;
 import org.apache.maven.model.profile.ProfileActivationContext;
+import org.junit.After;
+import org.junit.Before;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
 
 /**
  * Provides common services to test {@link ProfileActivator} implementations.
@@ -36,7 +37,6 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public abstract class AbstractProfileActivatorTest<T extends ProfileActivator>
-    extends TestCase
 {
 
     private Class<T> activatorClass;
@@ -48,22 +48,18 @@ public abstract class AbstractProfileActivatorTest<T extends ProfileActivator>
         this.activatorClass = Objects.requireNonNull( activatorClass, "activatorClass cannot be null" );;
     }
 
-    @Override
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
-        super.setUp();
-
         activator = activatorClass.getConstructor().newInstance();
     }
 
-    @Override
-    protected void tearDown()
+    @After
+    public void tearDown()
         throws Exception
     {
         activator = null;
-
-        super.tearDown();
     }
 
     protected ProfileActivationContext newContext( final Properties userProperties, final Properties systemProperties )
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java
index 440f120..92ad135 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java
@@ -23,6 +23,7 @@ import java.util.Properties;
 
 import org.apache.maven.model.Activation;
 import org.apache.maven.model.Profile;
+import org.junit.Test;
 
 /**
  * Tests {@link JdkVersionProfileActivator}.
@@ -56,6 +57,7 @@ public class JdkVersionProfileActivatorTest
         return props;
     }
 
+    @Test
     public void testNullSafe()
         throws Exception
     {
@@ -68,6 +70,7 @@ public class JdkVersionProfileActivatorTest
         assertActivation( false, p, newContext( null, null ) );
     }
 
+    @Test
     public void testPrefix()
         throws Exception
     {
@@ -83,6 +86,7 @@ public class JdkVersionProfileActivatorTest
         assertActivation( false, profile, newContext( null, newProperties( "1.5" ) ) );
     }
 
+    @Test
     public void testPrefixNegated()
         throws Exception
     {
@@ -98,6 +102,7 @@ public class JdkVersionProfileActivatorTest
         assertActivation( true, profile, newContext( null, newProperties( "1.5" ) ) );
     }
 
+    @Test
     public void testVersionRangeInclusiveBounds()
         throws Exception
     {
@@ -120,6 +125,7 @@ public class JdkVersionProfileActivatorTest
         assertActivation( true, profile, newContext( null, newProperties( "1.6.0_09-b03" ) ) );
     }
 
+    @Test
     public void testVersionRangeExclusiveBounds()
         throws Exception
     {
@@ -143,6 +149,7 @@ public class JdkVersionProfileActivatorTest
         assertActivation( false, profile, newContext( null, newProperties( "1.6" ) ) );
     }
 
+    @Test
     public void testVersionRangeInclusiveLowerBound()
         throws Exception
     {
@@ -165,6 +172,7 @@ public class JdkVersionProfileActivatorTest
         assertActivation( true, profile, newContext( null, newProperties( "1.6.0_09-b03" ) ) );
     }
 
+    @Test
     public void testVersionRangeExclusiveUpperBound()
         throws Exception
     {
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java
index 73ab967..3bffea2 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java
@@ -24,6 +24,7 @@ import java.util.Properties;
 import org.apache.maven.model.Activation;
 import org.apache.maven.model.ActivationProperty;
 import org.apache.maven.model.Profile;
+import org.junit.Test;
 
 /**
  * Tests {@link PropertyProfileActivator}.
@@ -61,6 +62,7 @@ public class PropertyProfileActivatorTest
         return props;
     }
 
+    @Test
     public void testNullSafe()
         throws Exception
     {
@@ -73,6 +75,7 @@ public class PropertyProfileActivatorTest
         assertActivation( false, p, newContext( null, null ) );
     }
 
+    @Test
     public void testWithNameOnly_UserProperty()
         throws Exception
     {
@@ -85,6 +88,7 @@ public class PropertyProfileActivatorTest
         assertActivation( false, profile, newContext( newProperties( "other", "value" ), null ) );
     }
 
+    @Test
     public void testWithNameOnly_SystemProperty()
         throws Exception
     {
@@ -97,6 +101,7 @@ public class PropertyProfileActivatorTest
         assertActivation( false, profile, newContext( null, newProperties( "other", "value" ) ) );
     }
 
+    @Test
     public void testWithNegatedNameOnly_UserProperty()
         throws Exception
     {
@@ -109,6 +114,7 @@ public class PropertyProfileActivatorTest
         assertActivation( true, profile, newContext( newProperties( "other", "value" ), null ) );
     }
 
+    @Test
     public void testWithNegatedNameOnly_SystemProperty()
         throws Exception
     {
@@ -121,6 +127,7 @@ public class PropertyProfileActivatorTest
         assertActivation( true, profile, newContext( null, newProperties( "other", "value" ) ) );
     }
 
+    @Test
     public void testWithValue_UserProperty()
         throws Exception
     {
@@ -133,6 +140,7 @@ public class PropertyProfileActivatorTest
         assertActivation( false, profile, newContext( newProperties( "prop", "" ), null ) );
     }
 
+    @Test
     public void testWithValue_SystemProperty()
         throws Exception
     {
@@ -145,6 +153,7 @@ public class PropertyProfileActivatorTest
         assertActivation( false, profile, newContext( null, newProperties( "other", "" ) ) );
     }
 
+    @Test
     public void testWithNegatedValue_UserProperty()
         throws Exception
     {
@@ -157,6 +166,7 @@ public class PropertyProfileActivatorTest
         assertActivation( true, profile, newContext( newProperties( "prop", "" ), null ) );
     }
 
+    @Test
     public void testWithNegatedValue_SystemProperty()
         throws Exception
     {
@@ -169,6 +179,7 @@ public class PropertyProfileActivatorTest
         assertActivation( true, profile, newContext( null, newProperties( "other", "" ) ) );
     }
 
+    @Test
     public void testWithValue_UserPropertyDominantOverSystemProperty()
         throws Exception
     {
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
index 7e94234..3e4457c 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
@@ -27,14 +27,18 @@ import org.apache.maven.model.building.DefaultModelBuildingRequest;
 import org.apache.maven.model.building.ModelBuildingRequest;
 import org.apache.maven.model.building.SimpleProblemCollector;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
  */
 public class DefaultModelValidatorTest
-    extends TestCase
 {
 
     private ModelValidator validator;
@@ -95,22 +99,18 @@ public class DefaultModelValidatorTest
         assertTrue( "\"" + substring + "\" was not found in: " + msg, msg.contains( substring ) );
     }
 
-    @Override
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
-        super.setUp();
-
         validator = new DefaultModelValidator();
     }
 
-    @Override
-    protected void tearDown()
+    @After
+    public void tearDown()
         throws Exception
     {
         this.validator = null;
-
-        super.tearDown();
     }
 
     private void assertViolations( SimpleProblemCollector result, int fatals, int errors, int warnings )
@@ -120,6 +120,7 @@ public class DefaultModelValidatorTest
         assertEquals( String.valueOf( result.getWarnings() ), warnings, result.getWarnings().size() );
     }
 
+    @Test
     public void testMissingModelVersion()
         throws Exception
     {
@@ -130,6 +131,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'modelVersion' is missing.", result.getErrors().get( 0 ) );
     }
 
+    @Test
     public void testBadModelVersion()
         throws Exception
     {
@@ -141,6 +143,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getFatals().get( 0 ).contains( "modelVersion" ) );
     }
 
+    @Test
     public void testMissingArtifactId()
         throws Exception
     {
@@ -151,6 +154,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'artifactId' is missing.", result.getErrors().get( 0 ) );
     }
 
+    @Test
     public void testMissingGroupId()
         throws Exception
     {
@@ -161,6 +165,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'groupId' is missing.", result.getErrors().get( 0 ) );
     }
 
+    @Test
     public void testInvalidIds()
         throws Exception
     {
@@ -174,6 +179,7 @@ public class DefaultModelValidatorTest
                       result.getErrors().get( 1 ) );
     }
 
+    @Test
     public void testMissingType()
         throws Exception
     {
@@ -184,6 +190,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'packaging' is missing.", result.getErrors().get( 0 ) );
     }
 
+    @Test
     public void testMissingVersion()
         throws Exception
     {
@@ -194,6 +201,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'version' is missing.", result.getErrors().get( 0 ) );
     }
 
+    @Test
     public void testInvalidAggregatorPackaging()
         throws Exception
     {
@@ -204,6 +212,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "Aggregator projects require 'pom' as packaging." ) );
     }
 
+    @Test
     public void testMissingDependencyArtifactId()
         throws Exception
     {
@@ -214,6 +223,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "'dependencies.dependency.artifactId' for groupId:null:jar is missing" ) );
     }
 
+    @Test
     public void testMissingDependencyGroupId()
         throws Exception
     {
@@ -224,6 +234,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "'dependencies.dependency.groupId' for null:artifactId:jar is missing" ) );
     }
 
+    @Test
     public void testMissingDependencyVersion()
         throws Exception
     {
@@ -234,6 +245,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "'dependencies.dependency.version' for groupId:artifactId:jar is missing" ) );
     }
 
+    @Test
     public void testMissingDependencyManagementArtifactId()
         throws Exception
     {
@@ -244,6 +256,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "'dependencyManagement.dependencies.dependency.artifactId' for groupId:null:jar is missing" ) );
     }
 
+    @Test
     public void testMissingDependencyManagementGroupId()
         throws Exception
     {
@@ -254,6 +267,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "'dependencyManagement.dependencies.dependency.groupId' for null:artifactId:jar is missing" ) );
     }
 
+    @Test
     public void testMissingAll()
         throws Exception
     {
@@ -270,6 +284,7 @@ public class DefaultModelValidatorTest
         // type is inherited from the super pom
     }
 
+    @Test
     public void testMissingPluginArtifactId()
         throws Exception
     {
@@ -280,6 +295,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'build.plugins.plugin.artifactId' is missing.", result.getErrors().get( 0 ) );
     }
 
+    @Test
     public void testEmptyPluginVersion()
         throws Exception
     {
@@ -291,6 +307,7 @@ public class DefaultModelValidatorTest
             + " must be a valid version but is ''.", result.getErrors().get( 0 ) );
     }
 
+    @Test
     public void testMissingRepositoryId()
         throws Exception
     {
@@ -308,6 +325,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'pluginRepositories.pluginRepository.[null].url' is missing.", result.getErrors().get( 3 ) );
     }
 
+    @Test
     public void testMissingResourceDirectory()
         throws Exception
     {
@@ -320,6 +338,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'build.testResources.testResource.directory' is missing.", result.getErrors().get( 1 ) );
     }
 
+    @Test
     public void testBadPluginDependencyScope()
         throws Exception
     {
@@ -334,6 +353,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 2 ).contains( "test:f" ) );
     }
 
+    @Test
     public void testBadDependencyScope()
         throws Exception
     {
@@ -346,6 +366,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getWarnings().get( 1 ).contains( "test:g" ) );
     }
 
+    @Test
     public void testBadDependencyManagementScope()
         throws Exception
     {
@@ -356,6 +377,7 @@ public class DefaultModelValidatorTest
         assertContains( result.getWarnings().get( 0 ), "test:g" );
     }
 
+    @Test
     public void testBadDependencyVersion()
         throws Exception
     {
@@ -369,6 +391,7 @@ public class DefaultModelValidatorTest
                         "'dependencies.dependency.version' for test:c:jar must not contain any of these characters" );
     }
 
+    @Test
     public void testDuplicateModule()
         throws Exception
     {
@@ -379,6 +402,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "child" ) );
     }
 
+    @Test
     public void testDuplicateProfileId()
         throws Exception
     {
@@ -389,6 +413,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "non-unique-id" ) );
     }
 
+    @Test
     public void testBadPluginVersion()
         throws Exception
     {
@@ -406,6 +431,7 @@ public class DefaultModelValidatorTest
                         "'build.plugins.plugin.version' for test:ifsc must not contain any of these characters" );
     }
 
+    @Test
     public void testDistributionManagementStatus()
         throws Exception
     {
@@ -416,6 +442,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "distributionManagement.status" ) );
     }
 
+    @Test
     public void testIncompleteParent()
         throws Exception
     {
@@ -427,6 +454,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getFatals().get( 2 ).contains( "parent.version" ) );
     }
 
+    @Test
     public void testHardCodedSystemPath()
         throws Exception
     {
@@ -451,6 +479,7 @@ public class DefaultModelValidatorTest
 
     }
 
+    @Test
     public void testEmptyModule()
         throws Exception
     {
@@ -461,6 +490,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "'modules.module[0]' has been specified without a path" ) );
     }
 
+    @Test
     public void testDuplicatePlugin()
         throws Exception
     {
@@ -474,6 +504,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getWarnings().get( 3 ).contains( "duplicate declaration of plugin profile:managed-duplicate" ) );
     }
 
+    @Test
     public void testDuplicatePluginExecution()
         throws Exception
     {
@@ -487,6 +518,7 @@ public class DefaultModelValidatorTest
         assertContains( result.getErrors().get( 3 ), "duplicate execution with id b" );
     }
 
+    @Test
     public void testReservedRepositoryId()
         throws Exception
     {
@@ -501,6 +533,7 @@ public class DefaultModelValidatorTest
                         "'distributionManagement.snapshotRepository.id' must not be 'local'" );
     }
 
+    @Test
     public void testMissingPluginDependencyGroupId()
         throws Exception
     {
@@ -511,6 +544,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( ":a:" ) );
     }
 
+    @Test
     public void testMissingPluginDependencyArtifactId()
         throws Exception
     {
@@ -521,6 +555,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "test:" ) );
     }
 
+    @Test
     public void testMissingPluginDependencyVersion()
         throws Exception
     {
@@ -531,6 +566,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "test:a" ) );
     }
 
+    @Test
     public void testBadPluginDependencyVersion()
         throws Exception
     {
@@ -541,6 +577,7 @@ public class DefaultModelValidatorTest
         assertTrue( result.getErrors().get( 0 ).contains( "test:b" ) );
     }
 
+    @Test
     public void testBadVersion()
         throws Exception
     {
@@ -551,6 +588,7 @@ public class DefaultModelValidatorTest
         assertContains( result.getWarnings().get( 0 ), "'version' must not contain any of these characters" );
     }
 
+    @Test
     public void testBadSnapshotVersion()
         throws Exception
     {
@@ -561,6 +599,7 @@ public class DefaultModelValidatorTest
         assertContains( result.getWarnings().get( 0 ), "'version' uses an unsupported snapshot version format" );
     }
 
+    @Test
     public void testBadRepositoryId()
         throws Exception
     {
@@ -578,6 +617,7 @@ public class DefaultModelValidatorTest
                         "'distributionManagement.snapshotRepository.id' must not contain any of these characters" );
     }
 
+    @Test
     public void testBadDependencyExclusionId()
         throws Exception
     {
@@ -599,6 +639,7 @@ public class DefaultModelValidatorTest
 
     }
 
+    @Test
     public void testMissingDependencyExclusionId()
         throws Exception
     {
@@ -612,6 +653,7 @@ public class DefaultModelValidatorTest
                         "'dependencies.dependency.exclusions.exclusion.artifactId' for gid:aid:jar is missing" );
     }
 
+    @Test
     public void testBadImportScopeType()
         throws Exception
     {
@@ -623,6 +665,7 @@ public class DefaultModelValidatorTest
                         "'dependencyManagement.dependencies.dependency.type' for test:a:jar must be 'pom'" );
     }
 
+    @Test
     public void testBadImportScopeClassifier()
         throws Exception
     {
@@ -634,6 +677,7 @@ public class DefaultModelValidatorTest
                         "'dependencyManagement.dependencies.dependency.classifier' for test:a:pom:cls must be empty" );
     }
 
+    @Test
     public void testSystemPathRefersToProjectBasedir()
         throws Exception
     {
@@ -661,6 +705,7 @@ public class DefaultModelValidatorTest
                         "'dependencies.dependency.systemPath' for test:b:jar should not point at files within the project directory" );
     }
 
+    @Test
     public void testInvalidVersionInPluginManagement()
         throws Exception
     {
@@ -673,6 +718,7 @@ public class DefaultModelValidatorTest
 
     }
 
+    @Test
     public void testInvalidGroupIdInPluginManagement()
         throws Exception
     {
@@ -685,6 +731,7 @@ public class DefaultModelValidatorTest
 
     }
 
+    @Test
     public void testInvalidArtifactIdInPluginManagement()
         throws Exception
     {
@@ -697,6 +744,7 @@ public class DefaultModelValidatorTest
 
     }
 
+    @Test
     public void testInvalidGroupAndArtifactIdInPluginManagement()
         throws Exception
     {
@@ -712,6 +760,7 @@ public class DefaultModelValidatorTest
 
     }
 
+    @Test
     public void testMissingReportPluginVersion()
         throws Exception
     {
@@ -720,6 +769,7 @@ public class DefaultModelValidatorTest
         assertViolations( result, 0, 0, 0 );
     }
 
+    @Test
     public void testDeprecatedDependencyMetaversionsLatestAndRelease()
         throws Exception
     {
@@ -733,6 +783,7 @@ public class DefaultModelValidatorTest
                         "'dependencies.dependency.version' for test:b:jar is either LATEST or RELEASE (both of them are being deprecated)" );
     }
 
+    @Test
     public void testSelfReferencingDependencyInRawModel()
         throws Exception
     {
@@ -745,6 +796,7 @@ public class DefaultModelValidatorTest
 
     }
 
+    @Test
     public void testSelfReferencingDependencyWithClassifierInRawModel() throws Exception
     {
         SimpleProblemCollector result = validateRaw( "raw-model/self-referencing-classifier.xml" );
@@ -752,6 +804,7 @@ public class DefaultModelValidatorTest
         assertViolations( result, 0, 0, 0 );
     }
 
+    @Test
     public void testCiFriendlySha1()
         throws Exception
     {
@@ -759,6 +812,7 @@ public class DefaultModelValidatorTest
         assertViolations( result, 0, 0, 0 );
     }
 
+    @Test
     public void testCiFriendlyRevision()
         throws Exception
     {
@@ -766,6 +820,7 @@ public class DefaultModelValidatorTest
         assertViolations( result, 0, 0, 0 );
     }
 
+    @Test
     public void testCiFriendlyChangeList()
         throws Exception
     {
@@ -773,6 +828,7 @@ public class DefaultModelValidatorTest
         assertViolations( result, 0, 0, 0 );
     }
 
+    @Test
     public void testCiFriendlyAllExpressions()
         throws Exception
     {
@@ -780,6 +836,7 @@ public class DefaultModelValidatorTest
         assertViolations( result, 0, 0, 0 );
     }
 
+    @Test
     public void testCiFriendlyBad()
         throws Exception
     {
@@ -788,6 +845,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'version' contains an expression but should be a constant.", result.getWarnings().get( 0 ) );
     }
 
+    @Test
     public void testCiFriendlyBadSha1Plus()
         throws Exception
     {
@@ -796,6 +854,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'version' contains an expression but should be a constant.", result.getWarnings().get( 0 ) );
     }
 
+    @Test
     public void testCiFriendlyBadSha1Plus2()
         throws Exception
     {
@@ -804,6 +863,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'version' contains an expression but should be a constant.", result.getWarnings().get( 0 ) );
     }
 
+    @Test
     public void testParentVersionLATEST()
         throws Exception
     {
@@ -812,6 +872,7 @@ public class DefaultModelValidatorTest
         assertEquals( "'parent.version' is either LATEST or RELEASE (both of them are being deprecated)", result.getWarnings().get( 0 ) );
     }
 
+    @Test
     public void testParentVersionRELEASE()
         throws Exception
     {
diff --git a/maven-model/src/test/java/org/apache/maven/model/ActivationFileTest.java b/maven-model/src/test/java/org/apache/maven/model/ActivationFileTest.java
index f88da58..c95eb0f 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ActivationFileTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ActivationFileTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code ActivationFile}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ActivationFileTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new ActivationFile().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new ActivationFile().equals( null ) );
@@ -42,12 +47,14 @@ public class ActivationFileTest
         new ActivationFile().equals( new ActivationFile() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         ActivationFile thing = new ActivationFile();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new ActivationFile().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/ActivationOSTest.java b/maven-model/src/test/java/org/apache/maven/model/ActivationOSTest.java
index f0d3045..d6d8509 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ActivationOSTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ActivationOSTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code ActivationOS}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ActivationOSTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new ActivationOS().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new ActivationOS().equals( null ) );
@@ -42,12 +47,14 @@ public class ActivationOSTest
         new ActivationOS().equals( new ActivationOS() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         ActivationOS thing = new ActivationOS();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new ActivationOS().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/ActivationPropertyTest.java b/maven-model/src/test/java/org/apache/maven/model/ActivationPropertyTest.java
index 5f5e048..3fae4e0 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ActivationPropertyTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ActivationPropertyTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code ActivationProperty}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ActivationPropertyTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new ActivationProperty().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new ActivationProperty().equals( null ) );
@@ -42,12 +47,14 @@ public class ActivationPropertyTest
         new ActivationProperty().equals( new ActivationProperty() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         ActivationProperty thing = new ActivationProperty();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new ActivationProperty().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/ActivationTest.java b/maven-model/src/test/java/org/apache/maven/model/ActivationTest.java
index f6d0f91..a9d4acd 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ActivationTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ActivationTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Activation}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ActivationTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Activation().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Activation().equals( null ) );
@@ -42,12 +47,14 @@ public class ActivationTest
         new Activation().equals( new Activation() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Activation thing = new Activation();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Activation().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/BuildTest.java b/maven-model/src/test/java/org/apache/maven/model/BuildTest.java
index 80a60d5..f16de69 100644
--- a/maven-model/src/test/java/org/apache/maven/model/BuildTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/BuildTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Build}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class BuildTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Build().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Build().equals( null ) );
@@ -42,12 +47,14 @@ public class BuildTest
         new Build().equals( new Build() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Build thing = new Build();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Build().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/CiManagementTest.java b/maven-model/src/test/java/org/apache/maven/model/CiManagementTest.java
index 7194c84..8ed000e 100644
--- a/maven-model/src/test/java/org/apache/maven/model/CiManagementTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/CiManagementTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code CiManagement}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class CiManagementTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new CiManagement().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new CiManagement().equals( null ) );
@@ -42,12 +47,14 @@ public class CiManagementTest
         new CiManagement().equals( new CiManagement() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         CiManagement thing = new CiManagement();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new CiManagement().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/ContributorTest.java b/maven-model/src/test/java/org/apache/maven/model/ContributorTest.java
index 491b99a..9171503 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ContributorTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ContributorTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Contributor}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ContributorTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Contributor().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Contributor().equals( null ) );
@@ -42,12 +47,14 @@ public class ContributorTest
         new Contributor().equals( new Contributor() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Contributor thing = new Contributor();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Contributor().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java b/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java
index 7702c62..70ebd51 100644
--- a/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code DependencyManagement}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class DependencyManagementTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new DependencyManagement().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new DependencyManagement().equals( null ) );
@@ -42,12 +47,14 @@ public class DependencyManagementTest
         new DependencyManagement().equals( new DependencyManagement() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         DependencyManagement thing = new DependencyManagement();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new DependencyManagement().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/DependencyTest.java b/maven-model/src/test/java/org/apache/maven/model/DependencyTest.java
index ec0a833..4210e09 100644
--- a/maven-model/src/test/java/org/apache/maven/model/DependencyTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/DependencyTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Dependency}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class DependencyTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Dependency().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Dependency().equals( null ) );
@@ -42,12 +47,14 @@ public class DependencyTest
         new Dependency().equals( new Dependency() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Dependency thing = new Dependency();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Dependency().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/DeploymentRepositoryTest.java b/maven-model/src/test/java/org/apache/maven/model/DeploymentRepositoryTest.java
index 169ec65..95037f5 100644
--- a/maven-model/src/test/java/org/apache/maven/model/DeploymentRepositoryTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/DeploymentRepositoryTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code DeploymentRepository}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class DeploymentRepositoryTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new DeploymentRepository().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new DeploymentRepository().equals( null ) );
@@ -42,12 +47,14 @@ public class DeploymentRepositoryTest
         new DeploymentRepository().equals( new DeploymentRepository() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         DeploymentRepository thing = new DeploymentRepository();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new DeploymentRepository().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/DeveloperTest.java b/maven-model/src/test/java/org/apache/maven/model/DeveloperTest.java
index c0dfe56..54c6b73 100644
--- a/maven-model/src/test/java/org/apache/maven/model/DeveloperTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/DeveloperTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Developer}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class DeveloperTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Developer().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Developer().equals( null ) );
@@ -42,12 +47,14 @@ public class DeveloperTest
         new Developer().equals( new Developer() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Developer thing = new Developer();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Developer().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/DistributionManagementTest.java b/maven-model/src/test/java/org/apache/maven/model/DistributionManagementTest.java
index 0314d61..91b9395 100644
--- a/maven-model/src/test/java/org/apache/maven/model/DistributionManagementTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/DistributionManagementTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code DistributionManagement}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class DistributionManagementTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new DistributionManagement().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new DistributionManagement().equals( null ) );
@@ -42,12 +47,14 @@ public class DistributionManagementTest
         new DistributionManagement().equals( new DistributionManagement() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         DistributionManagement thing = new DistributionManagement();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new DistributionManagement().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/ExclusionTest.java b/maven-model/src/test/java/org/apache/maven/model/ExclusionTest.java
index 6febace..7aba6c7 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ExclusionTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ExclusionTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Exclusion}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ExclusionTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Exclusion().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Exclusion().equals( null ) );
@@ -42,12 +47,14 @@ public class ExclusionTest
         new Exclusion().equals( new Exclusion() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Exclusion thing = new Exclusion();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Exclusion().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/ExtensionTest.java b/maven-model/src/test/java/org/apache/maven/model/ExtensionTest.java
index 4b8cd8a..da40b0d 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ExtensionTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ExtensionTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Extension}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ExtensionTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Extension().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Extension().equals( null ) );
@@ -42,12 +47,14 @@ public class ExtensionTest
         new Extension().equals( new Extension() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Extension thing = new Extension();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Extension().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/IssueManagementTest.java b/maven-model/src/test/java/org/apache/maven/model/IssueManagementTest.java
index 5e50c15..2ca800d 100644
--- a/maven-model/src/test/java/org/apache/maven/model/IssueManagementTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/IssueManagementTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code IssueManagement}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class IssueManagementTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new IssueManagement().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new IssueManagement().equals( null ) );
@@ -42,12 +47,14 @@ public class IssueManagementTest
         new IssueManagement().equals( new IssueManagement() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         IssueManagement thing = new IssueManagement();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new IssueManagement().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/LicenseTest.java b/maven-model/src/test/java/org/apache/maven/model/LicenseTest.java
index 179921b..739c139 100644
--- a/maven-model/src/test/java/org/apache/maven/model/LicenseTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/LicenseTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code License}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class LicenseTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new License().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new License().equals( null ) );
@@ -42,12 +47,14 @@ public class LicenseTest
         new License().equals( new License() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         License thing = new License();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new License().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/MailingListTest.java b/maven-model/src/test/java/org/apache/maven/model/MailingListTest.java
index 6129695..0171ab8 100644
--- a/maven-model/src/test/java/org/apache/maven/model/MailingListTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/MailingListTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code MailingList}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class MailingListTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new MailingList().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new MailingList().equals( null ) );
@@ -42,12 +47,14 @@ public class MailingListTest
         new MailingList().equals( new MailingList() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         MailingList thing = new MailingList();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new MailingList().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/ModelTest.java b/maven-model/src/test/java/org/apache/maven/model/ModelTest.java
index c9ec4da..4910549 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ModelTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ModelTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Model}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ModelTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Model().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Model().equals( null ) );
@@ -42,12 +47,14 @@ public class ModelTest
         new Model().equals( new Model() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Model thing = new Model();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Model().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/NotifierTest.java b/maven-model/src/test/java/org/apache/maven/model/NotifierTest.java
index 4e5d068..f0da085 100644
--- a/maven-model/src/test/java/org/apache/maven/model/NotifierTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/NotifierTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Notifier}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class NotifierTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Notifier().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Notifier().equals( null ) );
@@ -42,12 +47,14 @@ public class NotifierTest
         new Notifier().equals( new Notifier() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Notifier thing = new Notifier();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Notifier().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/OrganizationTest.java b/maven-model/src/test/java/org/apache/maven/model/OrganizationTest.java
index 48abe77..71f1f3b 100644
--- a/maven-model/src/test/java/org/apache/maven/model/OrganizationTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/OrganizationTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Organization}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class OrganizationTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Organization().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Organization().equals( null ) );
@@ -42,12 +47,14 @@ public class OrganizationTest
         new Organization().equals( new Organization() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Organization thing = new Organization();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Organization().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/ParentTest.java b/maven-model/src/test/java/org/apache/maven/model/ParentTest.java
index 78d4567..3007e15 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ParentTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ParentTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Parent}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class ParentTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Parent().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Parent().equals( null ) );
@@ -42,12 +47,14 @@ public class ParentTest
         new Parent().equals( new Parent() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Parent thing = new Parent();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Parent().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/PluginConfigurationTest.java b/maven-model/src/test/java/org/apache/maven/model/PluginConfigurationTest.java
index cbb123d..34ea7ad 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PluginConfigurationTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PluginConfigurationTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code PluginConfiguration}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class PluginConfigurationTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new PluginConfiguration().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new PluginConfiguration().equals( null ) );
@@ -42,12 +47,14 @@ public class PluginConfigurationTest
         new PluginConfiguration().equals( new PluginConfiguration() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         PluginConfiguration thing = new PluginConfiguration();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new PluginConfiguration().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/PluginContainerTest.java b/maven-model/src/test/java/org/apache/maven/model/PluginContainerTest.java
index 878298c..e9e4f52 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PluginContainerTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PluginContainerTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code PluginContainer}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class PluginContainerTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new PluginContainer().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new PluginContainer().equals( null ) );
@@ -42,12 +47,14 @@ public class PluginContainerTest
         new PluginContainer().equals( new PluginContainer() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         PluginContainer thing = new PluginContainer();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new PluginContainer().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/PluginExecutionTest.java b/maven-model/src/test/java/org/apache/maven/model/PluginExecutionTest.java
index e8fff51..4613727 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PluginExecutionTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PluginExecutionTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code PluginExecution}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class PluginExecutionTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new PluginExecution().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new PluginExecution().equals( null ) );
@@ -42,12 +47,14 @@ public class PluginExecutionTest
         new PluginExecution().equals( new PluginExecution() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         PluginExecution thing = new PluginExecution();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new PluginExecution().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/PluginManagementTest.java b/maven-model/src/test/java/org/apache/maven/model/PluginManagementTest.java
index 571399f..49af4af 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PluginManagementTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PluginManagementTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code PluginManagement}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class PluginManagementTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new PluginManagement().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new PluginManagement().equals( null ) );
@@ -42,12 +47,14 @@ public class PluginManagementTest
         new PluginManagement().equals( new PluginManagement() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         PluginManagement thing = new PluginManagement();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new PluginManagement().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/PluginTest.java b/maven-model/src/test/java/org/apache/maven/model/PluginTest.java
index 582145e..f67abba 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PluginTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PluginTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Plugin}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class PluginTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Plugin().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Plugin().equals( null ) );
@@ -42,12 +47,14 @@ public class PluginTest
         new Plugin().equals( new Plugin() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Plugin thing = new Plugin();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
         assertNotNull( new Plugin().toString() );
diff --git a/maven-model/src/test/java/org/apache/maven/model/PrerequisitesTest.java b/maven-model/src/test/java/org/apache/maven/model/PrerequisitesTest.java
index 727f2c3..c4f7ef5 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PrerequisitesTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PrerequisitesTest.java
@@ -19,7 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests {@code Prerequisites}.
@@ -27,14 +31,15 @@ import junit.framework.TestCase;
  * @author Benjamin Bentmann
  */
 public class PrerequisitesTest
-    extends TestCase
 {
 
+    @Test
     public void testHashCodeNullSafe()
     {
         new Prerequisites().hashCode();
     }
 
+    @Test
     public void testEqualsNullSafe()
     {
         assertFalse( new Prerequisites().equals( null ) );
@@ -42,12 +47,14 @@ public class PrerequisitesTest
         new Prerequisites().equals( new Prerequisites() );
     }
 
+    @Test
     public void testEqualsIdentity()
     {
         Prerequisites thing = new Prerequisites();
         assertTrue( thing.equals( thing ) );
     }
 
+    @Test
     public void testToStringNullSafe()
     {
... 1392 lines suppressed ...


[maven] 02/08: Avoid calls to fail() when an assertXxx is usable

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MNG-7035
in repository https://gitbox.apache.org/repos/asf/maven.git

commit ced5b6d5a7d2ef1091f0ac0af1726b64ec56e71e
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Nov 26 16:08:36 2020 +0100

    Avoid calls to fail() when an assertXxx is usable
---
 .../artifact/versioning/ComparableVersionIT.java   |   4 +-
 .../artifact/versioning/VersionRangeTest.java      |  14 +--
 .../org/apache/maven/building/FileSourceTest.java  |  15 +--
 .../org/apache/maven/building/UrlSourceTest.java   |  15 +--
 .../AbstractArtifactComponentTestCase.java         |  23 +---
 .../artifact/resolver/ArtifactResolverTest.java    |  14 +--
 .../inheritance/t02/ProjectInheritanceTest.java    |  42 +++----
 .../repository/legacy/DefaultWagonManagerTest.java | 108 +++-------------
 .../resolver/DefaultArtifactCollectorTest.java     |  26 ++--
 .../scope/internal/MojoExecutionScopeTest.java     |  11 +-
 .../maven/lifecycle/LifecycleExecutorTest.java     |  30 ++---
 .../project/DefaultMavenProjectBuilderTest.java    | 137 ++++++++-------------
 .../apache/maven/project/PomConstructionTest.java  |  74 +++--------
 .../maven/project/ProjectModelResolverTest.java    |  96 +++++----------
 .../internal/DefaultRuntimeInformationTest.java    |  38 ++----
 .../java/org/apache/maven/cli/MavenCliTest.java    |  43 ++-----
 .../DefaultInheritanceAssemblerTest.java           |  22 ++--
 .../DefaultArtifactDescriptorReaderTest.java       |   8 +-
 .../internal/DefaultModelResolverTest.java         |  97 +++++----------
 .../apache/maven/wrapper/WrapperExecutorTest.java  |  85 ++++++-------
 20 files changed, 286 insertions(+), 616 deletions(-)

diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java
index 326ff57..f79eb1a 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java
@@ -20,6 +20,7 @@ package org.apache.maven.artifact.versioning;
  */
 
 import java.io.IOException;
+import java.io.InterruptedIOException;
 import java.nio.file.FileVisitResult;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -31,7 +32,6 @@ import java.util.regex.Pattern;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
 
 public class ComparableVersionIT
 {
@@ -64,7 +64,7 @@ public class ComparableVersionIT
                     }
                     catch ( InterruptedException e )
                     {
-                        fail( e.getMessage() );
+                        throw new InterruptedIOException( e.toString() );
                     }
                     return FileVisitResult.TERMINATE;
                 }
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
index 7e6f5f4..c5bceb4 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
@@ -28,8 +28,8 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 /**
  * Tests version range construction.
@@ -699,15 +699,9 @@ public class VersionRangeTest
 
     private void checkInvalidRange( String version )
     {
-        try
-        {
-            VersionRange.createFromVersionSpec( version );
-            fail( "Version " + version + " should have failed to construct" );
-        }
-        catch ( InvalidVersionSpecificationException expected )
-        {
-            // expected
-        }
+        assertThrows( "Version " + version + " should have failed to construct",
+                InvalidVersionSpecificationException.class,
+                () -> VersionRange.createFromVersionSpec( version ) );
     }
 
     @Test
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java
index 40e4808..f1ac6e6 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java
@@ -26,7 +26,7 @@ import java.util.Scanner;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
 
 public class FileSourceTest
 {
@@ -34,15 +34,10 @@ public class FileSourceTest
     @Test
     public void testFileSource()
     {
-        try
-        {
-            new FileSource( null );
-            fail( "Should fail, since you must specify a file" );
-        }
-        catch ( NullPointerException e )
-        {
-            assertEquals( "file cannot be null", e.getMessage() );
-        }
+        NullPointerException e = assertThrows( "Should fail, since you must specify a file",
+                NullPointerException.class,
+                () -> new FileSource( null ) );
+        assertEquals( "file cannot be null", e.getMessage() );
     }
 
     @Test
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java
index fab547a..05bdc4c 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java
@@ -27,7 +27,7 @@ import java.util.Scanner;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
 
 public class UrlSourceTest
 {
@@ -35,15 +35,10 @@ public class UrlSourceTest
     @Test
     public void testUrlSource()
     {
-        try
-        {
-            new UrlSource( null );
-            fail( "Should fail, since you must specify a url" );
-        }
-        catch ( NullPointerException e )
-        {
-            assertEquals( "url cannot be null", e.getMessage() );
-        }
+        NullPointerException e = assertThrows( "Should fail, since you must specify a url",
+                NullPointerException.class,
+                () -> new UrlSource( null ) );
+        assertEquals( "url cannot be null", e.getMessage() );
     }
 
     @Test
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
index 6c4540c..6e6b8ca 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
@@ -70,7 +70,8 @@ import org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy;
 import org.junit.After;
 import org.junit.Before;
 
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
@@ -198,10 +199,7 @@ public abstract class AbstractArtifactComponentTestCase
 
         File file = new File( remoteRepo.getBasedir(), path );
 
-        if ( !file.exists() )
-        {
-            fail( "Remote artifact " + file + " should be present." );
-        }
+        assertTrue( "Remote artifact " + file + " should be present.", file.exists() );
     }
 
     protected void assertLocalArtifactPresent( Artifact artifact )
@@ -213,10 +211,7 @@ public abstract class AbstractArtifactComponentTestCase
 
         File file = new File( localRepo.getBasedir(), path );
 
-        if ( !file.exists() )
-        {
-            fail( "Local artifact " + file + " should be present." );
-        }
+        assertTrue( "Local artifact " + file + " should be present.", file.exists() );
     }
 
     protected void assertRemoteArtifactNotPresent( Artifact artifact )
@@ -228,10 +223,7 @@ public abstract class AbstractArtifactComponentTestCase
 
         File file = new File( remoteRepo.getBasedir(), path );
 
-        if ( file.exists() )
-        {
-            fail( "Remote artifact " + file + " should not be present." );
-        }
+        assertFalse( "Remote artifact " + file + " should not be present.", file.exists() );
     }
 
     protected void assertLocalArtifactNotPresent( Artifact artifact )
@@ -243,10 +235,7 @@ public abstract class AbstractArtifactComponentTestCase
 
         File file = new File( localRepo.getBasedir(), path );
 
-        if ( file.exists() )
-        {
-            fail( "Local artifact " + file + " should not be present." );
-        }
+        assertFalse( "Local artifact " + file + " should not be present.", file.exists() );
     }
 
     // ----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
index 68cb8d8..81272ee 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
@@ -40,8 +40,8 @@ import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import javax.inject.Inject;
 
@@ -170,15 +170,9 @@ public class ArtifactResolverTest
     {
         Artifact k = createArtifact( "k", "1.0" );
 
-        try
-        {
-            artifactResolver.resolve( k, remoteRepositories(), localRepository() );
-            fail( "Resolution succeeded when it should have failed" );
-        }
-        catch ( ArtifactNotFoundException expected )
-        {
-            assertTrue( true );
-        }
+        assertThrows( "Resolution succeeded when it should have failed",
+                ArtifactNotFoundException.class,
+                () -> artifactResolver.resolve( k, remoteRepositories(), localRepository() ) );
     }
 
     @Test
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
index 485e5f0..dbcc369 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
@@ -26,12 +26,14 @@ import java.util.Map;
 
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * A test which demonstrates maven's recursive inheritance where
@@ -139,33 +141,25 @@ public class ProjectInheritanceTest
         {
             String pluginArtifactId = plugin.getArtifactId();
 
-            if ( !validPluginCounts.containsKey( pluginArtifactId ) )
-            {
-                fail( "Illegal plugin found: " + pluginArtifactId );
-            }
-            else
+            assertTrue( "Illegal plugin found: " + pluginArtifactId, validPluginCounts.containsKey( pluginArtifactId ) );
+
+            if ( pluginArtifactId.equals( testPluginArtifactId ) )
             {
-                if ( pluginArtifactId.equals( testPluginArtifactId ) )
-                {
-                    testPlugin = plugin;
-                }
-
-                Integer count = validPluginCounts.get( pluginArtifactId );
-
-                if ( count > 0 )
-                {
-                    fail( "Multiple copies of plugin: " + pluginArtifactId + " found in POM." );
-                }
-                else
-                {
-                    count = count + 1;
-
-                    validPluginCounts.put( pluginArtifactId, count );
-                }
+                testPlugin = plugin;
             }
+
+            Integer count = validPluginCounts.get( pluginArtifactId );
+
+            assertEquals( "Multiple copies of plugin: " + pluginArtifactId + " found in POM.", 0, (int) count );
+
+            count = count + 1;
+
+            validPluginCounts.put( pluginArtifactId, count );
         }
 
-        List executions = testPlugin.getExecutions();
+        assertNotNull( testPlugin );
+
+        List<PluginExecution> executions = testPlugin.getExecutions();
 
         assertEquals( 1, executions.size() );
     }
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
index fb8c2ca..1c28bd4 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
@@ -50,14 +50,15 @@ import org.apache.maven.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import javax.inject.Inject;
 
@@ -151,16 +152,8 @@ public class DefaultWagonManagerTest
 
         ArtifactRepository repo = createStringRepo();
 
-        try
-        {
-            wagonManager.getArtifact( artifact, repo, null, false );
-
-            fail();
-        }
-        catch ( ResourceDoesNotExistException e )
-        {
-            assertTrue( true );
-        }
+        assertThrows( ResourceDoesNotExistException.class,
+                () -> wagonManager.getArtifact( artifact, repo, null, false ) );
 
         assertFalse( artifact.getFile().exists() );
     }
@@ -172,16 +165,8 @@ public class DefaultWagonManagerTest
 
         ArtifactRepository repo = createStringRepo();
 
-        try
-        {
-            wagonManager.getArtifact( artifact, repo, null, true );
-
-            fail();
-        }
-        catch ( ResourceDoesNotExistException e )
-        {
-            assertTrue( true );
-        }
+        assertThrows( ResourceDoesNotExistException.class,
+                () -> wagonManager.getArtifact( artifact, repo, null, true ) );
 
         assertFalse( artifact.getFile().exists() );
     }
@@ -276,17 +261,7 @@ public class DefaultWagonManagerTest
 
         assertWagon( "string" );
 
-        try
-        {
-            assertWagon( "d" );
-
-            fail( "Expected :" + UnsupportedProtocolException.class.getName() );
-        }
-        catch ( UnsupportedProtocolException e )
-        {
-            // ok
-            assertTrue( true );
-        }
+        assertThrows( UnsupportedProtocolException.class, () -> assertWagon( "d" ) );
     }
 
     /**
@@ -321,7 +296,9 @@ public class DefaultWagonManagerTest
     /**
      * Checks the verification of checksums.
      */
-    public void xtestChecksumVerification()
+    @Ignore
+    @Test
+    public void testChecksumVerification()
         throws Exception
     {
         ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy( true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, ArtifactRepositoryPolicy.CHECKSUM_POLICY_FAIL );
@@ -338,82 +315,35 @@ public class DefaultWagonManagerTest
         wagon.clearExpectedContent();
         wagon.addExpectedContent( "path", "lower-case-checksum" );
         wagon.addExpectedContent( "path.sha1", "2a25dc564a3b34f68237fc849066cbc7bb7a36a1" );
-
-        try
-        {
-            wagonManager.getArtifact( artifact, repo, null, false );
-        }
-        catch ( ChecksumFailedException e )
-        {
-            fail( "Checksum verification did not pass: " + e.getMessage() );
-        }
+        wagonManager.getArtifact( artifact, repo, null, false );
 
         wagon.clearExpectedContent();
         wagon.addExpectedContent( "path", "upper-case-checksum" );
         wagon.addExpectedContent( "path.sha1", "B7BB97D7D0B9244398D9B47296907F73313663E6" );
-
-        try
-        {
-            wagonManager.getArtifact( artifact, repo, null, false );
-        }
-        catch ( ChecksumFailedException e )
-        {
-            fail( "Checksum verification did not pass: " + e.getMessage() );
-        }
+        wagonManager.getArtifact( artifact, repo, null, false );
 
         wagon.clearExpectedContent();
         wagon.addExpectedContent( "path", "expected-failure" );
         wagon.addExpectedContent( "path.sha1", "b7bb97d7d0b9244398d9b47296907f73313663e6" );
-
-        try
-        {
-            wagonManager.getArtifact( artifact, repo, null, false );
-            fail( "Checksum verification did not fail" );
-        }
-        catch ( ChecksumFailedException e )
-        {
-            // expected
-        }
+        assertThrows( "Checksum verification did not fail", ChecksumFailedException.class, () ->
+                wagonManager.getArtifact( artifact, repo, null, false ) );
 
         wagon.clearExpectedContent();
         wagon.addExpectedContent( "path", "lower-case-checksum" );
         wagon.addExpectedContent( "path.md5", "50b2cf50a103a965efac62b983035cac" );
-
-        try
-        {
-            wagonManager.getArtifact( artifact, repo, null, false );
-        }
-        catch ( ChecksumFailedException e )
-        {
-            fail( "Checksum verification did not pass: " + e.getMessage() );
-        }
+        wagonManager.getArtifact( artifact, repo, null, false );
 
         wagon.clearExpectedContent();
         wagon.addExpectedContent( "path", "upper-case-checksum" );
         wagon.addExpectedContent( "path.md5", "842F568FCCFEB7E534DC72133D42FFDC" );
-
-        try
-        {
-            wagonManager.getArtifact( artifact, repo, null, false );
-        }
-        catch ( ChecksumFailedException e )
-        {
-            fail( "Checksum verification did not pass: " + e.getMessage() );
-        }
+        wagonManager.getArtifact( artifact, repo, null, false );
 
         wagon.clearExpectedContent();
         wagon.addExpectedContent( "path", "expected-failure" );
         wagon.addExpectedContent( "path.md5", "b7bb97d7d0b9244398d9b47296907f73313663e6" );
-
-        try
-        {
-            wagonManager.getArtifact( artifact, repo, null, false );
-            fail( "Checksum verification did not fail" );
-        }
-        catch ( ChecksumFailedException e )
-        {
-            // expected
-        }
+        assertThrows( "Checksum verification did not fail",
+                ChecksumFailedException.class,
+                () -> wagonManager.getArtifact( artifact, repo, null, false ) );
     }
 
     @Test
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
index be742fc..c0e1d49 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
@@ -56,8 +56,8 @@ import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 /**
  * Test the default artifact collector.
@@ -116,15 +116,9 @@ public class DefaultArtifactCollectorTest
         ArtifactSpec a = createArtifactSpec( "a", "1.0" );
         ArtifactSpec b = a.addDependency( "b", "1.0" );
         b.addDependency( "a", "1.0" );
-        try
-        {
-            collect( a );
-            fail( "Should have failed on cyclic dependency not involving project" );
-        }
-        catch ( CyclicDependencyException expected )
-        {
-            assertTrue( true );
-        }
+        assertThrows( "Should have failed on cyclic dependency not involving project",
+                CyclicDependencyException.class,
+                () -> collect( a ) );
     }
 
     // works, but we don't fail on cycles presently
@@ -134,15 +128,9 @@ public class DefaultArtifactCollectorTest
         ArtifactSpec a = createArtifactSpec( "a", "1.0" );
         ArtifactSpec b = a.addDependency( "b", "1.0" );
         b.addDependency( "project", "1.0" );
-        try
-        {
-            collect( a );
-            fail( "Should have failed on cyclic dependency involving project" );
-        }
-        catch ( CyclicDependencyException expected )
-        {
-            assertTrue( true );
-        }
+        assertThrows( "Should have failed on cyclic dependency not involving project",
+                CyclicDependencyException.class,
+                () -> collect( a ) );
     }
 
     @Test
diff --git a/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java b/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
index 589ac87..124703b 100644
--- a/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
+++ b/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
@@ -24,7 +24,7 @@ import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
 
 public class MojoExecutionScopeTest
 {
@@ -50,14 +50,7 @@ public class MojoExecutionScopeTest
 
         scope.exit();
 
-        try
-        {
-            scope.exit();
-            fail();
-        }
-        catch ( IllegalStateException expected )
-        {
-        }
+        assertThrows( IllegalStateException.class, () -> scope.exit() );
     }
 
     @Test
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
index 0c47e79..38231c4 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
@@ -51,7 +51,7 @@ import static org.hamcrest.Matchers.hasSize;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
 
 import javax.inject.Inject;
 
@@ -320,25 +320,15 @@ public class LifecycleExecutorTest
     {
         File pom = getProject( "project-basic" );
         MavenSession session = createMavenSession( pom );
-        try
-        {
-            getExecutions( calculateExecutionPlan( session, "resources:" ) );
-            fail( "expected a MojoNotFoundException" );
-        }
-        catch ( MojoNotFoundException e )
-        {
-            assertEquals( "", e.getGoal() );
-        }
-
-        try
-        {
-            getExecutions( calculateExecutionPlan( session, "org.apache.maven.plugins:maven-resources-plugin:0.1:resources:toomany" ) );
-            fail( "expected a MojoNotFoundException" );
-        }
-        catch ( MojoNotFoundException e )
-        {
-            assertEquals( "resources:toomany", e.getGoal() );
-        }
+        MojoNotFoundException e = assertThrows( "expected a MojoNotFoundException",
+                MojoNotFoundException.class,
+                () -> getExecutions( calculateExecutionPlan( session, "resources:" ) ) );
+        assertEquals( "", e.getGoal() );
+
+        e = assertThrows( "expected a MojoNotFoundException",
+                MojoNotFoundException.class,
+                () -> getExecutions( calculateExecutionPlan( session, "org.apache.maven.plugins:maven-resources-plugin:0.1:resources:toomany" ) ) );
+        assertEquals( "resources:toomany", e.getGoal() );
     }
 
 
diff --git a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
index fff4ed5..dac8489 100644
--- a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
@@ -28,12 +28,13 @@ import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.codehaus.plexus.util.FileUtils;
 import org.junit.Test;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsString;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.fail;
 
 public class DefaultMavenProjectBuilderTest
@@ -128,15 +129,10 @@ public class DefaultMavenProjectBuilderTest
     {
         File f1 = getTestFile( "src/test/resources/projects/future-model-version-pom.xml" );
 
-        try
-        {
-            getProject( f1 );
-            fail( "Expected to fail for future versions" );
-        }
-        catch ( ProjectBuildingException e )
-        {
-            assertContains( "Building this project requires a newer version of Maven", e.getMessage() );
-        }
+        ProjectBuildingException e = assertThrows( "Expected to fail for future versions",
+                ProjectBuildingException.class,
+                () -> getProject( f1 ) );
+        assertContains( "Building this project requires a newer version of Maven", e.getMessage() );
     }
 
     @Test
@@ -147,15 +143,10 @@ public class DefaultMavenProjectBuilderTest
         // update the resource if we stop supporting modelVersion 4.0.0
         File f1 = getTestFile( "src/test/resources/projects/past-model-version-pom.xml" );
 
-        try
-        {
-            getProject( f1 );
-            fail( "Expected to fail for past versions" );
-        }
-        catch ( ProjectBuildingException e )
-        {
-            assertContains( "Building this project requires an older version of Maven", e.getMessage() );
-        }
+        ProjectBuildingException e = assertThrows( "Expected to fail for past versions",
+                ProjectBuildingException.class,
+                () -> getProject( f1 ) );
+        assertContains( "Building this project requires an older version of Maven", e.getMessage() );
     }
 
     @Test
@@ -164,15 +155,10 @@ public class DefaultMavenProjectBuilderTest
     {
         File f1 = getTestFile( "src/test/resources/projects/future-schema-model-version-pom.xml" );
 
-        try
-        {
-            getProject( f1 );
-            fail( "Expected to fail for future versions" );
-        }
-        catch ( ProjectBuildingException e )
-        {
-            assertContains( "Building this project requires a newer version of Maven", e.getMessage() );
-        }
+        ProjectBuildingException e = assertThrows( "Expected to fail for future versions",
+                ProjectBuildingException.class,
+                () -> getProject( f1 ) );
+        assertContains( "Building this project requires a newer version of Maven", e.getMessage() );
     }
 
     private void assertContains( String expected, String actual )
@@ -229,26 +215,21 @@ public class DefaultMavenProjectBuilderTest
     {
         File pomFile = getTestFile( "src/test/resources/projects/bad-dependency.xml" );
 
-        try
-        {
-            ProjectBuildingRequest request = newBuildingRequest();
-            request.setProcessPlugins( false );
-            request.setResolveDependencies( true );
-            projectBuilder.build( pomFile, request );
-            fail( "Project building did not fail despite invalid POM" );
-        }
-        catch ( ProjectBuildingException e )
-        {
-            List<ProjectBuildingResult> results = e.getResults();
-            assertNotNull( results );
-            assertEquals( 1, results.size() );
-            ProjectBuildingResult result = results.get( 0 );
-            assertNotNull( result );
-            assertNotNull( result.getProject() );
-            assertEquals( 1, result.getProblems().size() );
-            assertEquals( 1, result.getProject().getArtifacts().size() );
-            assertNotNull( result.getDependencyResolutionResult() );
-        }
+        ProjectBuildingRequest request = newBuildingRequest();
+        request.setProcessPlugins( false );
+        request.setResolveDependencies( true );
+        ProjectBuildingException e = assertThrows( "Project building did not fail despite invalid POM",
+                ProjectBuildingException.class,
+                () -> projectBuilder.build( pomFile, request ) );
+        List<ProjectBuildingResult> results = e.getResults();
+        assertNotNull( results );
+        assertEquals( 1, results.size() );
+        ProjectBuildingResult result = results.get( 0 );
+        assertNotNull( result );
+        assertNotNull( result.getProject() );
+        assertEquals( 1, result.getProblems().size() );
+        assertEquals( 1, result.getProject().getArtifacts().size() );
+        assertNotNull( result.getDependencyResolutionResult() );
     }
 
     /**
@@ -282,16 +263,11 @@ public class DefaultMavenProjectBuilderTest
         File f1 =
             getTestFile( "src/test/resources/projects/parent-version-range-local-child-without-version/child/pom.xml" );
 
-        try
-        {
-            getProject( f1 );
-            fail( "Expected 'ProjectBuildingException' not thrown." );
-        }
-        catch ( final ProjectBuildingException e )
-        {
-            assertNotNull( e.getMessage() );
-            assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
-        }
+        ProjectBuildingException e = assertThrows( "Expected 'ProjectBuildingException' not thrown.",
+                ProjectBuildingException.class,
+                () -> getProject( f1 ) );
+        assertNotNull( e.getMessage() );
+        assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
     }
 
     /**
@@ -306,16 +282,11 @@ public class DefaultMavenProjectBuilderTest
             getTestFile(
                 "src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml" );
 
-        try
-        {
-            getProject( f1 );
-            fail( "Expected 'ProjectBuildingException' not thrown." );
-        }
-        catch ( final ProjectBuildingException e )
-        {
-            assertNotNull( e.getMessage() );
-            assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
-        }
+        ProjectBuildingException e = assertThrows( "Expected 'ProjectBuildingException' not thrown.",
+                ProjectBuildingException.class,
+                () -> getProject( f1 ) );
+        assertNotNull( e.getMessage() );
+        assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
     }
 
     /**
@@ -350,16 +321,11 @@ public class DefaultMavenProjectBuilderTest
             getTestFile(
                 "src/test/resources/projects/parent-version-range-external-child-without-version/pom.xml" );
 
-        try
-        {
-            this.getProjectFromRemoteRepository( f1 );
-            fail( "Expected 'ProjectBuildingException' not thrown." );
-        }
-        catch ( final ProjectBuildingException e )
-        {
-            assertNotNull( e.getMessage() );
-            assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
-        }
+        ProjectBuildingException e = assertThrows( "Expected 'ProjectBuildingException' not thrown.",
+                ProjectBuildingException.class,
+                () -> getProjectFromRemoteRepository( f1 ) );
+        assertNotNull( e.getMessage() );
+        assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
     }
 
     /**
@@ -374,16 +340,11 @@ public class DefaultMavenProjectBuilderTest
             getTestFile(
                 "src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml" );
 
-        try
-        {
-            this.getProjectFromRemoteRepository( f1 );
-            fail( "Expected 'ProjectBuildingException' not thrown." );
-        }
-        catch ( final ProjectBuildingException e )
-        {
-            assertNotNull( e.getMessage() );
-            assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
-        }
+        ProjectBuildingException e = assertThrows( "Expected 'ProjectBuildingException' not thrown.",
+                ProjectBuildingException.class,
+                () -> getProjectFromRemoteRepository( f1 ) );
+        assertNotNull( e.getMessage() );
+        assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
     }
 
 }
diff --git a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
index 6562075..c5d76bd 100644
--- a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
@@ -56,7 +56,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
 
 public class PomConstructionTest
     extends PlexusTestCase
@@ -1689,15 +1689,9 @@ public class PomConstructionTest
     public void testValidationErrorUponNonUniqueArtifactRepositoryId()
         throws Exception
     {
-        try
-        {
-            buildPom( "unique-repo-id/artifact-repo" );
-            fail( "Non-unique repository ids did not cause validation error" );
-        }
-        catch ( ProjectBuildingException e )
-        {
-            // expected
-        }
+        assertThrows( "Non-unique repository ids did not cause validation error",
+                ProjectBuildingException.class,
+                () -> buildPom( "unique-repo-id/artifact-repo" ) );
     }
 
     /* MNG-4193 */
@@ -1705,15 +1699,9 @@ public class PomConstructionTest
     public void testValidationErrorUponNonUniquePluginRepositoryId()
         throws Exception
     {
-        try
-        {
-            buildPom( "unique-repo-id/plugin-repo" );
-            fail( "Non-unique repository ids did not cause validation error" );
-        }
-        catch ( ProjectBuildingException e )
-        {
-            // expected
-        }
+        assertThrows( "Non-unique repository ids did not cause validation error",
+                ProjectBuildingException.class,
+                () -> buildPom( "unique-repo-id/plugin-repo" ) );
     }
 
     /* MNG-4193 */
@@ -1721,15 +1709,9 @@ public class PomConstructionTest
     public void testValidationErrorUponNonUniqueArtifactRepositoryIdInProfile()
         throws Exception
     {
-        try
-        {
-            buildPom( "unique-repo-id/artifact-repo-in-profile" );
-            fail( "Non-unique repository ids did not cause validation error" );
-        }
-        catch ( ProjectBuildingException e )
-        {
-            // expected
-        }
+        assertThrows( "Non-unique repository ids did not cause validation error",
+                ProjectBuildingException.class,
+                () -> buildPom( "unique-repo-id/artifact-repo-in-profile" ) );
     }
 
     /* MNG-4193 */
@@ -1737,15 +1719,9 @@ public class PomConstructionTest
     public void testValidationErrorUponNonUniquePluginRepositoryIdInProfile()
         throws Exception
     {
-        try
-        {
-            buildPom( "unique-repo-id/plugin-repo-in-profile" );
-            fail( "Non-unique repository ids did not cause validation error" );
-        }
-        catch ( ProjectBuildingException e )
-        {
-            // expected
-        }
+        assertThrows( "Non-unique repository ids did not cause validation error",
+                ProjectBuildingException.class,
+                () -> buildPom( "unique-repo-id/plugin-repo-in-profile" ) );
     }
 
     /** MNG-3843 */
@@ -1824,15 +1800,9 @@ public class PomConstructionTest
     public void testParentPomPackagingMustBePom()
         throws Exception
     {
-        try
-        {
-            buildPom( "parent-pom-packaging/sub" );
-            fail( "Wrong packaging of parent POM was not rejected" );
-        }
-        catch ( ProjectBuildingException e )
-        {
-            // expected
-        }
+        assertThrows( "Wrong packaging of parent POM was not rejected",
+                ProjectBuildingException.class,
+                () -> buildPom( "parent-pom-packaging/sub" ) );
     }
 
     /** MNG-522, MNG-3018 */
@@ -1953,15 +1923,9 @@ public class PomConstructionTest
     public void testProjectArtifactIdIsNotInheritedButMandatory()
         throws Exception
     {
-        try
-        {
-            buildPom( "artifact-id-inheritance/child" );
-            fail( "Missing artifactId did not cause validation error" );
-        }
-        catch ( ProjectBuildingException e )
-        {
-            // expected
-        }
+        assertThrows( "Missing artifactId did not cause validation error",
+                ProjectBuildingException.class,
+                () -> buildPom( "artifact-id-inheritance/child" ) );
     }
 
     private void assertPathSuffixEquals( String expected, Object actual )
diff --git a/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java b/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
index c83a692..85d8a47 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
@@ -39,7 +39,7 @@ import static org.hamcrest.Matchers.startsWith;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
 
 /**
  * Test cases for the project {@code ModelResolver} implementation.
@@ -66,16 +66,11 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         parent.setArtifactId( "apache" );
         parent.setVersion( "0" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( parent );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertNotNull( e.getMessage() );
-            assertThat( e.getMessage(), startsWith( "Could not find artifact org.apache:apache:pom:0 in central" ) );
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( parent ) );
+        assertNotNull( e.getMessage() );
+        assertThat( e.getMessage(), startsWith( "Could not find artifact org.apache:apache:pom:0 in central" ) );
     }
 
     @Test
@@ -86,17 +81,11 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         parent.setArtifactId( "apache" );
         parent.setVersion( "[2.0,2.1)" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( parent );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertEquals( "No versions matched the requested parent version range '[2.0,2.1)'",
-                          e.getMessage() );
-
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( parent ) );
+        assertEquals( "No versions matched the requested parent version range '[2.0,2.1)'",
+                      e.getMessage() );
     }
 
     @Test
@@ -107,17 +96,11 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         parent.setArtifactId( "apache" );
         parent.setVersion( "[1,)" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( parent );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertEquals( "The requested parent version range '[1,)' does not specify an upper bound",
-                          e.getMessage() );
-
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( parent ) );
+        assertEquals( "The requested parent version range '[1,)' does not specify an upper bound",
+                      e.getMessage() );
     }
 
     @Test
@@ -152,16 +135,11 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         dependency.setArtifactId( "apache" );
         dependency.setVersion( "0" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( dependency );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertNotNull( e.getMessage() );
-            assertThat( e.getMessage(), startsWith( "Could not find artifact org.apache:apache:pom:0 in central" ) );
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( dependency ) );
+        assertNotNull( e.getMessage() );
+        assertThat( e.getMessage(), startsWith( "Could not find artifact org.apache:apache:pom:0 in central" ) );
     }
 
     @Test
@@ -172,17 +150,11 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         dependency.setArtifactId( "apache" );
         dependency.setVersion( "[2.0,2.1)" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( dependency );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertEquals( "No versions matched the requested dependency version range '[2.0,2.1)'",
-                          e.getMessage() );
-
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( dependency ) );
+        assertEquals( "No versions matched the requested dependency version range '[2.0,2.1)'",
+                      e.getMessage() );
     }
 
     @Test
@@ -193,17 +165,11 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         dependency.setArtifactId( "apache" );
         dependency.setVersion( "[1,)" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( dependency );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertEquals( "The requested dependency version range '[1,)' does not specify an upper bound",
-                          e.getMessage() );
-
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( dependency ) );
+        assertEquals( "The requested dependency version range '[1,)' does not specify an upper bound",
+                      e.getMessage() );
     }
 
     @Test
diff --git a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
index a4f61b6..5ed7863 100644
--- a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
+++ b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
@@ -28,8 +28,8 @@ import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import javax.inject.Inject;
 import java.util.Collections;
@@ -75,35 +75,17 @@ public class DefaultRuntimeInformationTest
         assertTrue( rtInfo.isMavenVersion( "[2.0.11,2.1.0),[3.0,)" ) );
         assertFalse( rtInfo.isMavenVersion( "[9.0,)" ) );
 
-        try
-        {
-            rtInfo.isMavenVersion( "[3.0," );
-            fail( "Bad version range wasn't rejected" );
-        }
-        catch ( IllegalArgumentException e )
-        {
-            assertTrue( true );
-        }
+        assertThrows( "Bad version range wasn't rejected",
+                IllegalArgumentException.class,
+                () -> rtInfo.isMavenVersion( "[3.0," ) );
 
-        try
-        {
-            rtInfo.isMavenVersion( "" );
-            fail( "Bad version range wasn't rejected" );
-        }
-        catch ( IllegalArgumentException e )
-        {
-            assertTrue( true );
-        }
+        assertThrows( "Bad version range wasn't rejected",
+                IllegalArgumentException.class,
+                () -> rtInfo.isMavenVersion( "" ) );
 
-        try
-        {
-            rtInfo.isMavenVersion( null );
-            fail( "Bad version range wasn't rejected" );
-        }
-        catch ( NullPointerException e )
-        {
-            assertTrue( true );
-        }
+        assertThrows( "Bad version range wasn't rejected",
+                NullPointerException.class,
+                () -> rtInfo.isMavenVersion( null ) );
     }
 
 }
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
index 491fb0b..1edb84e 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
@@ -28,8 +28,8 @@ import static org.hamcrest.CoreMatchers.notNullValue;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 import static org.junit.Assume.assumeTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.hamcrest.collection.IsIterableContainingInOrder.contains;
@@ -149,15 +149,9 @@ public class MavenCliTest
         // -TC2.2
         assertEquals( (int) ( cores * 2.2 ), cli.calculateDegreeOfConcurrencyWithCoreMultiplier( "2.2C" ) );
 
-        try
-        {
-            cli.calculateDegreeOfConcurrencyWithCoreMultiplier( "CXXX" );
-            fail( "Should have failed with a NumberFormatException" );
-        }
-        catch ( NumberFormatException e )
-        {
-            // carry on
-        }
+        assertThrows( "Should have failed with a NumberFormatException",
+                NumberFormatException.class,
+                () -> cli.calculateDegreeOfConcurrencyWithCoreMultiplier( "CXXX" ) );
     }
 
     @Test
@@ -189,15 +183,7 @@ public class MavenCliTest
         CliRequest request = new CliRequest( new String[0], null );
 
         cli.initialize( request );
-        try
-        {
-            cli.cli( request );
-            fail();
-        }
-        catch ( ParseException expected )
-        {
-
-        }
+        assertThrows( ParseException.class, () -> cli.cli( request ) );
     }
 
     /**
@@ -359,19 +345,12 @@ public class MavenCliTest
         cli.logging( request );
         assertTrue( MessageUtils.isColorEnabled() );
 
-        try
-        {
-            MessageUtils.setColorEnabled( false );
-            request = new CliRequest( new String[] { "-Dstyle.color=maybe", "-B", "-l", "target/temp/mvn.log" }, null );
-            cli.cli( request );
-            cli.properties( request );
-            cli.logging( request );
-            fail( "maybe is not a valid option" );
-        }
-        catch ( IllegalArgumentException e )
-        {
-            // noop
-        }
+        MessageUtils.setColorEnabled( false );
+        CliRequest maybeColorRequest = new CliRequest( new String[] { "-Dstyle.color=maybe", "-B", "-l", "target/temp/mvn.log" }, null );
+        cli.cli( maybeColorRequest );
+        cli.properties( maybeColorRequest );
+        assertThrows( "maybe is not a valid option", IllegalArgumentException.class,
+                () -> cli.logging( maybeColorRequest ) );
     }
 
     /**
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
index 777c47d..4df8953 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
@@ -43,8 +43,8 @@ import org.junit.Test;
 import org.xmlunit.matchers.CompareMatcher;
 
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 /**
  * @author Hervé Boutemy
@@ -182,18 +182,14 @@ public class DefaultInheritanceAssemblerTest
         // parent references child with directory name (which is not artifact id)
         // then relative path calculation will success during build from disk but fail when calculated from repo
         testInheritance( "tricky-flat-directory-urls", false );
-        try
-        {
-            testInheritance( "tricky-flat-directory-urls", true );
-            fail( "should have failed since module reference == directory name != artifactId" );
-        }
-        catch ( AssertionError afe )
-        {
-            // expected failure
-            assertTrue( afe.getMessage(), afe.getMessage().contains(
-                    "Expected text value 'http://www.apache.org/path/to/parent/../child-artifact-id/' but was " +
-                            "'http://www.apache.org/path/to/parent/child-artifact-id/'" ) );
-        }
+
+        AssertionError afe = assertThrows( "should have failed since module reference == directory name != artifactId",
+                AssertionError.class,
+                () -> testInheritance( "tricky-flat-directory-urls", true ) );
+        // expected failure
+        assertTrue( afe.getMessage(), afe.getMessage().contains(
+                "Expected text value 'http://www.apache.org/path/to/parent/../child-artifact-id/' but was " +
+                        "'http://www.apache.org/path/to/parent/child-artifact-id/'" ) );
     }
 
     @Test
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
index 7787f10..154ebc7 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
@@ -29,7 +29,7 @@ import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
@@ -73,9 +73,7 @@ public class DefaultArtifactDescriptorReaderTest
             }
         }
 
-        if( !missingArtifactDescriptor )
-        {
-            fail( "Expected missing artifact descriptor for org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2" );
-        }
+        assertTrue( "Expected missing artifact descriptor for org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2",
+                missingArtifactDescriptor );
     }
 }
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java
index b106704..3b13e2c 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java
@@ -34,8 +34,8 @@ import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 /**
  * Test cases for the default {@code ModelResolver} implementation.
@@ -62,16 +62,11 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         parent.setArtifactId( "artifact" );
         parent.setVersion( "0" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( parent );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertNotNull( e.getMessage() );
-            assertTrue( e.getMessage().startsWith( "Could not find artifact ut.simple:artifact:pom:0 in repo" ) );
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( parent ) );
+        assertNotNull( e.getMessage() );
+        assertTrue( e.getMessage().startsWith( "Could not find artifact ut.simple:artifact:pom:0 in repo" ) );
     }
 
     @Test
@@ -82,17 +77,12 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         parent.setArtifactId( "artifact" );
         parent.setVersion( "[2.0,2.1)" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( parent );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertEquals( "No versions matched the requested parent version range '[2.0,2.1)'",
-                          e.getMessage() );
-
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( parent ) );
+        assertNotNull( e.getMessage() );
+        assertEquals( "No versions matched the requested parent version range '[2.0,2.1)'",
+                      e.getMessage() );
     }
 
     @Test
@@ -103,17 +93,11 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         parent.setArtifactId( "artifact" );
         parent.setVersion( "[1.0,)" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( parent );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertEquals( "The requested parent version range '[1.0,)' does not specify an upper bound",
-                          e.getMessage() );
-
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( parent ) );
+        assertEquals( "The requested parent version range '[1.0,)' does not specify an upper bound",
+                      e.getMessage() );
     }
 
     @Test
@@ -148,16 +132,11 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         dependency.setArtifactId( "artifact" );
         dependency.setVersion( "0" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( dependency );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertNotNull( e.getMessage() );
-            assertTrue( e.getMessage().startsWith( "Could not find artifact ut.simple:artifact:pom:0 in repo" ) );
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( dependency ) );
+        assertNotNull( e.getMessage() );
+        assertTrue( e.getMessage().startsWith( "Could not find artifact ut.simple:artifact:pom:0 in repo" ) );
     }
 
     @Test
@@ -168,17 +147,11 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         dependency.setArtifactId( "artifact" );
         dependency.setVersion( "[2.0,2.1)" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( dependency );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertEquals( "No versions matched the requested dependency version range '[2.0,2.1)'",
-                          e.getMessage() );
-
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( dependency ) );
+        assertEquals( "No versions matched the requested dependency version range '[2.0,2.1)'",
+                      e.getMessage() );
     }
 
     @Test
@@ -189,17 +162,11 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         dependency.setArtifactId( "artifact" );
         dependency.setVersion( "[1.0,)" );
 
-        try
-        {
-            this.newModelResolver().resolveModel( dependency );
-            fail( "Expected 'UnresolvableModelException' not thrown." );
-        }
-        catch ( final UnresolvableModelException e )
-        {
-            assertEquals( "The requested dependency version range '[1.0,)' does not specify an upper bound",
-                          e.getMessage() );
-
-        }
+        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+                UnresolvableModelException.class,
+                () -> newModelResolver().resolveModel( dependency ) );
+        assertEquals( "The requested dependency version range '[1.0,)' does not specify an upper bound",
+                      e.getMessage() );
     }
 
     @Test
diff --git a/maven-wrapper/src/test/java/org/apache/maven/wrapper/WrapperExecutorTest.java b/maven-wrapper/src/test/java/org/apache/maven/wrapper/WrapperExecutorTest.java
index b160be0..970245e 100644
--- a/maven-wrapper/src/test/java/org/apache/maven/wrapper/WrapperExecutorTest.java
+++ b/maven-wrapper/src/test/java/org/apache/maven/wrapper/WrapperExecutorTest.java
@@ -19,6 +19,11 @@ package org.apache.maven.wrapper;
  * under the License.
  */
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -79,12 +84,12 @@ public class WrapperExecutorTest
     {
         WrapperExecutor wrapper = WrapperExecutor.forWrapperPropertiesFile( propertiesFile );
 
-        Assert.assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getDistribution() );
-        Assert.assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getConfiguration().getDistribution() );
-        Assert.assertEquals( "testDistBase", wrapper.getConfiguration().getDistributionBase() );
-        Assert.assertEquals( "testDistPath", wrapper.getConfiguration().getDistributionPath() );
-        Assert.assertEquals( "testZipBase", wrapper.getConfiguration().getZipBase() );
-        Assert.assertEquals( "testZipPath", wrapper.getConfiguration().getZipPath() );
+        assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getDistribution() );
+        assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getConfiguration().getDistribution() );
+        assertEquals( "testDistBase", wrapper.getConfiguration().getDistributionBase() );
+        assertEquals( "testDistPath", wrapper.getConfiguration().getDistributionPath() );
+        assertEquals( "testZipBase", wrapper.getConfiguration().getZipBase() );
+        assertEquals( "testZipPath", wrapper.getConfiguration().getZipPath() );
     }
 
     @Test
@@ -93,12 +98,12 @@ public class WrapperExecutorTest
     {
         WrapperExecutor wrapper = WrapperExecutor.forProjectDirectory( testDir.getRoot().toPath() );
 
-        Assert.assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getDistribution() );
-        Assert.assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getConfiguration().getDistribution() );
-        Assert.assertEquals( "testDistBase", wrapper.getConfiguration().getDistributionBase() );
-        Assert.assertEquals( "testDistPath", wrapper.getConfiguration().getDistributionPath() );
-        Assert.assertEquals( "testZipBase", wrapper.getConfiguration().getZipBase() );
-        Assert.assertEquals( "testZipPath", wrapper.getConfiguration().getZipPath() );
+        assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getDistribution() );
+        assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getConfiguration().getDistribution() );
+        assertEquals( "testDistBase", wrapper.getConfiguration().getDistributionBase() );
+        assertEquals( "testDistPath", wrapper.getConfiguration().getDistributionPath() );
+        assertEquals( "testZipBase", wrapper.getConfiguration().getZipBase() );
+        assertEquals( "testZipPath", wrapper.getConfiguration().getZipPath() );
     }
 
     @Test
@@ -107,12 +112,12 @@ public class WrapperExecutorTest
     {
         WrapperExecutor wrapper = WrapperExecutor.forProjectDirectory( testDir.getRoot().toPath().resolve( "unknown" ) );
 
-        Assert.assertNull( wrapper.getDistribution() );
-        Assert.assertNull( wrapper.getConfiguration().getDistribution() );
-        Assert.assertEquals( PathAssembler.MAVEN_USER_HOME_STRING, wrapper.getConfiguration().getDistributionBase() );
-        Assert.assertEquals( Installer.DEFAULT_DISTRIBUTION_PATH, wrapper.getConfiguration().getDistributionPath() );
-        Assert.assertEquals( PathAssembler.MAVEN_USER_HOME_STRING, wrapper.getConfiguration().getZipBase() );
-        Assert.assertEquals( Installer.DEFAULT_DISTRIBUTION_PATH, wrapper.getConfiguration().getZipPath() );
+        assertNull( wrapper.getDistribution() );
+        assertNull( wrapper.getConfiguration().getDistribution() );
+        assertEquals( PathAssembler.MAVEN_USER_HOME_STRING, wrapper.getConfiguration().getDistributionBase() );
+        assertEquals( Installer.DEFAULT_DISTRIBUTION_PATH, wrapper.getConfiguration().getDistributionPath() );
+        assertEquals( PathAssembler.MAVEN_USER_HOME_STRING, wrapper.getConfiguration().getZipBase() );
+        assertEquals( Installer.DEFAULT_DISTRIBUTION_PATH, wrapper.getConfiguration().getZipPath() );
     }
 
     @Test
@@ -126,12 +131,12 @@ public class WrapperExecutorTest
 
         WrapperExecutor wrapper = WrapperExecutor.forWrapperPropertiesFile( propertiesFile );
 
-        Assert.assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getDistribution() );
-        Assert.assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getConfiguration().getDistribution() );
-        Assert.assertEquals( PathAssembler.MAVEN_USER_HOME_STRING, wrapper.getConfiguration().getDistributionBase() );
-        Assert.assertEquals( Installer.DEFAULT_DISTRIBUTION_PATH, wrapper.getConfiguration().getDistributionPath() );
-        Assert.assertEquals( PathAssembler.MAVEN_USER_HOME_STRING, wrapper.getConfiguration().getZipBase() );
-        Assert.assertEquals( Installer.DEFAULT_DISTRIBUTION_PATH, wrapper.getConfiguration().getZipPath() );
+        assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getDistribution() );
+        assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getConfiguration().getDistribution() );
+        assertEquals( PathAssembler.MAVEN_USER_HOME_STRING, wrapper.getConfiguration().getDistributionBase() );
+        assertEquals( Installer.DEFAULT_DISTRIBUTION_PATH, wrapper.getConfiguration().getDistributionPath() );
+        assertEquals( PathAssembler.MAVEN_USER_HOME_STRING, wrapper.getConfiguration().getZipBase() );
+        assertEquals( Installer.DEFAULT_DISTRIBUTION_PATH, wrapper.getConfiguration().getZipPath() );
     }
 
     @Test
@@ -152,16 +157,11 @@ public class WrapperExecutorTest
         properties = new Properties();
         writePropertiesFile( properties, propertiesFile, "header" );
 
-        try
-        {
-            WrapperExecutor.forWrapperPropertiesFile( propertiesFile );
-            Assert.fail( "Expected RuntimeException" );
-        }
-        catch ( RuntimeException e )
-        {
-            Assert.assertEquals( "No value with key 'distributionUrl' specified in wrapper properties file '"
-                + propertiesFile + "'.", e.getMessage() );
-        }
+        RuntimeException e = assertThrows( "Expected RuntimeException",
+                RuntimeException.class,
+                () -> WrapperExecutor.forWrapperPropertiesFile( propertiesFile ) );
+        assertEquals( "No value with key 'distributionUrl' specified in wrapper properties file '"
+            + propertiesFile + "'.", e.getMessage() );
     }
 
     @Test
@@ -169,15 +169,10 @@ public class WrapperExecutorTest
     {
         propertiesFile = testDir.getRoot().toPath().resolve( "unknown.properties" );
 
-        try
-        {
-            WrapperExecutor.forWrapperPropertiesFile( propertiesFile );
-            Assert.fail( "Expected RuntimeException" );
-        }
-        catch ( RuntimeException e )
-        {
-            Assert.assertEquals( "Wrapper properties file '" + propertiesFile + "' does not exist.", e.getMessage() );
-        }
+        RuntimeException e = assertThrows( "Expected RuntimeException",
+                RuntimeException.class,
+                () -> WrapperExecutor.forWrapperPropertiesFile( propertiesFile ) );
+        assertEquals( "Wrapper properties file '" + propertiesFile + "' does not exist.", e.getMessage() );
     }
 
     @Test
@@ -190,8 +185,8 @@ public class WrapperExecutorTest
         writePropertiesFile( properties, propertiesFile, "header" );
 
         WrapperExecutor wrapper = WrapperExecutor.forWrapperPropertiesFile( propertiesFile );
-        Assert.assertNotEquals( "some/relative/url/to/bin.zip", wrapper.getDistribution().getSchemeSpecificPart() );
-        Assert.assertTrue( wrapper.getDistribution().getSchemeSpecificPart().endsWith( "some/relative/url/to/bin.zip" ) );
+        assertNotEquals( "some/relative/url/to/bin.zip", wrapper.getDistribution().getSchemeSpecificPart() );
+        assertTrue( wrapper.getDistribution().getSchemeSpecificPart().endsWith( "some/relative/url/to/bin.zip" ) );
     }
 
     private void writePropertiesFile( Properties properties, Path propertiesFile, String message )


[maven] 04/08: Move the 3 PlexusTestCase classes into a new test support module

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MNG-7035
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 6e3f55e5d3952a3b87b705364eb8e55a327f803c
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jan 8 11:55:15 2021 +0100

    Move the 3 PlexusTestCase classes into a new test support module
---
 maven-compat/pom.xml                               |   5 +
 .../AbstractArtifactComponentTestCase.java         |   2 +-
 .../factory/DefaultArtifactFactoryTest.java        |   2 +-
 .../transform/TransformationManagerTest.java       |   2 +-
 .../manager/DefaultProfileManagerTest.java         |   2 +-
 .../project/AbstractMavenProjectTestCase.java      |   2 +-
 .../repository/LegacyRepositorySystemTest.java     |   2 +-
 .../maven/repository/MirrorProcessorTest.java      |   2 +-
 .../repository/legacy/DefaultWagonManagerTest.java |   2 +-
 .../legacy/LegacyRepositorySystemTest.java         |   2 +-
 .../resolver/DefaultArtifactCollectorTest.java     |   2 +-
 .../conflict/AbstractConflictResolverTest.java     |   3 +-
 .../DefaultClasspathTransformationTest.java        |   2 +-
 .../metadata/DefaultGraphConflictResolverTest.java |   2 +-
 maven-core/pom.xml                                 |   5 +
 .../maven/AbstractCoreMavenComponentTestCase.java  |   1 +
 .../test/java/org/apache/maven/PlexusTestCase.java | 317 --------------------
 .../artifact/handler/ArtifactHandlerTest.java      |   2 +-
 .../maven/lifecycle/DefaultLifecyclesTest.java     |   2 +-
 .../project/AbstractMavenProjectTestCase.java      |   2 +-
 .../apache/maven/project/PomConstructionTest.java  |   2 +-
 .../project/artifact/MavenMetadataSourceTest.java  |   2 +-
 .../internal/DefaultRuntimeInformationTest.java    |   2 +-
 .../settings/PomConstructionWithSettingsTest.java  |   8 +-
 maven-resolver-provider/pom.xml                    |   5 +
 .../test/java/org/apache/maven/PlexusTestCase.java | 318 ---------------------
 .../internal/AbstractRepositoryTestCase.java       |   2 +-
 maven-test-support/pom.xml                         |  73 +++++
 .../org/apache/maven/test}/PlexusTestCase.java     |  11 +-
 pom.xml                                            |   6 +
 30 files changed, 123 insertions(+), 667 deletions(-)

diff --git a/maven-compat/pom.xml b/maven-compat/pom.xml
index 73d1a24..be1cd35 100644
--- a/maven-compat/pom.xml
+++ b/maven-compat/pom.xml
@@ -100,6 +100,11 @@ under the License.
     </dependency>
 
     <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-test-support</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-cipher</artifactId>
       <scope>test</scope>
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
index 6e6b8ca..e099f65 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
@@ -32,7 +32,7 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
index f9de70c..14721cd 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
@@ -23,7 +23,7 @@ import java.util.Collections;
 
 import javax.inject.Inject;
 
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.codehaus.plexus.ContainerConfiguration;
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
index 887ae05..f7072f3 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
@@ -26,7 +26,7 @@ import org.apache.maven.repository.legacy.resolver.transform.SnapshotTransformat
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
diff --git a/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java b/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
index 3951ccf..e5e5410 100644
--- a/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
@@ -22,7 +22,7 @@ package org.apache.maven.profiles.manager;
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.model.Activation;
 import org.apache.maven.model.ActivationProperty;
 import org.apache.maven.model.Profile;
diff --git a/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
index 002ae55..5694e23 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -25,7 +25,7 @@ import java.util.Collections;
 
 import javax.inject.Inject;
 
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 import org.apache.maven.model.building.ModelBuildingException;
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
index b346e5e..251d116 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
@@ -36,7 +36,7 @@ import org.apache.maven.repository.legacy.LegacyRepositorySystem;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
index 1c40aea..7fc75c3 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
@@ -23,7 +23,7 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory;
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
index 1c28bd4..37aa4e7 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
@@ -46,7 +46,7 @@ import org.apache.maven.wagon.observers.Debug;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
 import org.junit.After;
 import org.junit.Before;
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
index 476c2cf..0499e80 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
@@ -26,7 +26,7 @@ import org.apache.maven.settings.Server;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
index c0e1d49..ba84b82 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
@@ -49,7 +49,7 @@ import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.PlexusConstants;
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
index fd890b0..f60773f 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
@@ -30,12 +30,11 @@ import org.apache.maven.artifact.versioning.VersionRange;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.junit.After;
 import org.junit.Before;
 
 import javax.inject.Inject;
-import java.util.Collections;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
index c5d9d82..0da1be9 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
@@ -16,7 +16,7 @@ package org.apache.maven.repository.metadata;
  */
 
 import org.apache.maven.artifact.ArtifactScopeEnum;
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
index be09db2..cba9491 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
@@ -16,7 +16,7 @@ package org.apache.maven.repository.metadata;
  */
 
 import org.apache.maven.artifact.ArtifactScopeEnum;
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.codehaus.plexus.logging.Logger;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 661ae9b..4316ff7 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -156,6 +156,11 @@ under the License.
       <artifactId>xmlunit-assertj</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-test-support</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
diff --git a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
index 3ae311f..edee9ca 100644
--- a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
@@ -45,6 +45,7 @@ import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
+import org.apache.maven.test.PlexusTestCase;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
diff --git a/maven-core/src/test/java/org/apache/maven/PlexusTestCase.java b/maven-core/src/test/java/org/apache/maven/PlexusTestCase.java
deleted file mode 100644
index d3801b8..0000000
--- a/maven-core/src/test/java/org/apache/maven/PlexusTestCase.java
+++ /dev/null
@@ -1,317 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/*
- * Copyright 2001-2006 Codehaus Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.File;
-import java.io.InputStream;
-
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.PlexusContainerException;
-import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.configuration.PlexusConfiguration;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.context.DefaultContext;
-import org.junit.After;
-import org.junit.Before;
-
-/**
- * This is a slightly modified version of the original plexus class
- * available at https://raw.githubusercontent.com/codehaus-plexus/plexus-containers/master/plexus-container-default/src/main/java/org/codehaus/plexus/PlexusTestCase.java
- * in order to migrate the tests to JUnit 4.
- *
- * @author Jason van Zyl
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
- * @author <a href="mailto:michal@codehaus.org">Michal Maczka</a>
- * @author Guillaume Nodet
- */
-public abstract class PlexusTestCase
-{
-    private PlexusContainer container;
-
-    private static String basedir;
-
-    @Before
-    public void setUp()
-            throws Exception
-    {
-        basedir = getBasedir();
-    }
-
-    @SuppressWarnings("ResultOfMethodCallIgnored")
-    protected void setupContainer()
-    {
-        // ----------------------------------------------------------------------------
-        // Context Setup
-        // ----------------------------------------------------------------------------
-
-        DefaultContext context = new DefaultContext();
-
-        context.put( "basedir", getBasedir() );
-
-        customizeContext( context );
-
-        boolean hasPlexusHome = context.contains( "plexus.home" );
-
-        if ( !hasPlexusHome )
-        {
-            File f = getTestFile( "target/plexus-home" );
-
-            if ( !f.isDirectory() )
-            {
-                f.mkdir();
-            }
-
-            context.put( "plexus.home", f.getAbsolutePath() );
-        }
-
-        // ----------------------------------------------------------------------------
-        // Configuration
-        // ----------------------------------------------------------------------------
-
-        String config = getCustomConfigurationName();
-
-        ContainerConfiguration containerConfiguration = new DefaultContainerConfiguration()
-                .setName( "test" )
-                .setContext( context.getContextData() );
-
-        if ( config != null )
-        {
-            containerConfiguration.setContainerConfiguration( config );
-        }
-        else
-        {
-            String resource = getConfigurationName( null );
-
-            containerConfiguration.setContainerConfiguration( resource );
-        }
-
-        customizeContainerConfiguration( containerConfiguration );
-
-        try
-        {
-            container = new DefaultPlexusContainer( containerConfiguration );
-        }
-        catch ( PlexusContainerException e )
-        {
-            throw new IllegalArgumentException( "Failed to create plexus container.", e );
-        }
-    }
-
-    /**
-     * Allow custom test case implementations do augment the default container configuration before
-     * executing tests.
-     *
-     * @param containerConfiguration {@link ContainerConfiguration}.
-     */
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-    }
-
-    protected void customizeContext( Context context )
-    {
-    }
-
-    protected PlexusConfiguration customizeComponentConfiguration()
-    {
-        return null;
-    }
-
-    @After
-    public void tearDown()
-            throws Exception
-    {
-        if ( container != null )
-        {
-            container.dispose();
-
-            container = null;
-        }
-    }
-
-    protected PlexusContainer getContainer()
-    {
-        if ( container == null )
-        {
-            setupContainer();
-        }
-
-        return container;
-    }
-
-    protected InputStream getConfiguration()
-            throws Exception
-    {
-        return getConfiguration( null );
-    }
-
-    protected InputStream getConfiguration( String subname )
-            throws Exception
-    {
-        return getResourceAsStream( getConfigurationName( subname ) );
-    }
-
-    protected String getCustomConfigurationName()
-    {
-        return null;
-    }
-
-    /**
-     * Allow the retrieval of a container configuration that is based on the name
-     * of the test class being run. So if you have a test class called org.foo.FunTest, then
-     * this will produce a resource name of org/foo/FunTest.xml which would be used to
-     * configure the Plexus container before running your test.
-     *
-     * @param subname the subname
-     * @return A configruation name
-     */
-    protected String getConfigurationName( String subname )
-    {
-        return getClass().getName().replace( '.', '/' ) + ".xml";
-    }
-
-    protected InputStream getResourceAsStream( String resource )
-    {
-        return getClass().getResourceAsStream( resource );
-    }
-
-    protected ClassLoader getClassLoader()
-    {
-        return getClass().getClassLoader();
-    }
-
-    // ----------------------------------------------------------------------
-    // Container access
-    // ----------------------------------------------------------------------
-
-    @SuppressWarnings("unchecked")
-    protected <T> T lookup( String componentKey )
-            throws ComponentLookupException
-    {
-        return (T) getContainer().lookup( componentKey );
-    }
-
-    @SuppressWarnings("unchecked")
-    protected <T> T lookup( String role,
-                            String roleHint )
-            throws ComponentLookupException
-    {
-        return (T) getContainer().lookup( role, roleHint );
-    }
-
-    protected <T> T lookup( Class<T> componentClass )
-            throws ComponentLookupException
-    {
-        return getContainer().lookup( componentClass );
-    }
-
-    protected <T> T lookup( Class<T> componentClass, String roleHint )
-            throws ComponentLookupException
-    {
-        return getContainer().lookup( componentClass, roleHint );
-    }
-
-    protected void release( Object component )
-            throws ComponentLifecycleException
-    {
-        getContainer().release( component );
-    }
-
-    // ----------------------------------------------------------------------
-    // Helper methods for sub classes
-    // ----------------------------------------------------------------------
-
-    public static File getTestFile( String path )
-    {
-        return new File( getBasedir(), path );
-    }
-
-    public static File getTestFile( String basedir,
-                                    String path )
-    {
-        File basedirFile = new File( basedir );
-
-        if ( !basedirFile.isAbsolute() )
-        {
-            basedirFile = getTestFile( basedir );
-        }
-
-        return new File( basedirFile, path );
-    }
-
-    public static String getTestPath( String path )
-    {
-        return getTestFile( path ).getAbsolutePath();
-    }
-
-    public static String getTestPath( String basedir,
-                                      String path )
-    {
-        return getTestFile( basedir, path ).getAbsolutePath();
-    }
-
-    public static String getBasedir()
-    {
-        if ( basedir != null )
-        {
-            return basedir;
-        }
-
-        basedir = System.getProperty( "basedir" );
-
-        if ( basedir == null )
-        {
-            basedir = new File( "" ).getAbsolutePath();
-        }
-
-        return basedir;
-    }
-
-    public String getTestConfiguration()
-    {
-        return getTestConfiguration( getClass() );
-    }
-
-    public static String getTestConfiguration( Class<?> clazz )
-    {
-        String s = clazz.getName().replace( '.', '/' );
-
-        return s.substring( 0, s.indexOf( "$" ) ) + ".xml";
-    }
-}
diff --git a/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java b/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
index 180e6ff..5290780 100644
--- a/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
@@ -22,7 +22,7 @@ package org.apache.maven.artifact.handler;
 import java.io.File;
 import java.util.List;
 
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
 import org.junit.Test;
 
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
index 1e131ab..02ac4dc 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
@@ -23,7 +23,7 @@ import java.util.stream.Collectors;
 
 import javax.inject.Inject;
 
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
diff --git a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
index 18a5812..d93c0f3 100644
--- a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -31,7 +31,7 @@ import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.junit.After;
 import org.junit.Before;
diff --git a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
index c5d76bd..0f02d80 100644
--- a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
@@ -29,7 +29,7 @@ import java.util.Properties;
 
 import javax.inject.Inject;
 
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginExecution;
diff --git a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
index 5b3beac..f79b596 100644
--- a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
@@ -19,7 +19,7 @@ package org.apache.maven.project.artifact;
  * under the License.
  */
 
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.repository.RepositorySystem;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.junit.After;
diff --git a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
index 09fbb4d..22dbe89 100644
--- a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
+++ b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
@@ -23,7 +23,7 @@ import org.apache.maven.rtinfo.RuntimeInformation;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java b/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
index db75136..ae61c63 100644
--- a/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
+++ b/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
@@ -32,24 +32,20 @@ import org.apache.maven.project.harness.PomTestWrapper;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
-import org.checkerframework.checker.units.qual.A;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
 import javax.inject.Inject;
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
+
 import java.util.Collections;
 
 import static org.junit.Assert.assertEquals;
diff --git a/maven-resolver-provider/pom.xml b/maven-resolver-provider/pom.xml
index de33876..5bbeb84 100644
--- a/maven-resolver-provider/pom.xml
+++ b/maven-resolver-provider/pom.xml
@@ -84,6 +84,11 @@ under the License.
     </dependency>
     <!-- Testing -->
     <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-test-support</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.apache.maven.resolver</groupId>
       <artifactId>maven-resolver-connector-basic</artifactId>
       <scope>test</scope>
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/PlexusTestCase.java b/maven-resolver-provider/src/test/java/org/apache/maven/PlexusTestCase.java
deleted file mode 100644
index 64dbfe5..0000000
--- a/maven-resolver-provider/src/test/java/org/apache/maven/PlexusTestCase.java
+++ /dev/null
@@ -1,318 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/*
- * Copyright 2001-2006 Codehaus Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.File;
-import java.io.InputStream;
-
-
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.PlexusContainerException;
-import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.configuration.PlexusConfiguration;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.context.DefaultContext;
-import org.junit.After;
-import org.junit.Before;
-
-/**
- * This is a slightly modified version of the original plexus class
- * available at https://raw.githubusercontent.com/codehaus-plexus/plexus-containers/master/plexus-container-default/src/main/java/org/codehaus/plexus/PlexusTestCase.java
- * in order to migrate the tests to JUnit 4.
- *
- * @author Jason van Zyl
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
- * @author <a href="mailto:michal@codehaus.org">Michal Maczka</a>
- * @author Guillaume Nodet
- */
-public abstract class PlexusTestCase
-{
-    private PlexusContainer container;
-
-    private static String basedir;
-
-    @Before
-    public void setUp()
-            throws Exception
-    {
-        basedir = getBasedir();
-    }
-
-    @SuppressWarnings("ResultOfMethodCallIgnored")
-    protected void setupContainer()
-    {
-        // ----------------------------------------------------------------------------
-        // Context Setup
-        // ----------------------------------------------------------------------------
-
-        DefaultContext context = new DefaultContext();
-
-        context.put( "basedir", getBasedir() );
-
-        customizeContext( context );
-
-        boolean hasPlexusHome = context.contains( "plexus.home" );
-
-        if ( !hasPlexusHome )
-        {
-            File f = getTestFile( "target/plexus-home" );
-
-            if ( !f.isDirectory() )
-            {
-                f.mkdir();
-            }
-
-            context.put( "plexus.home", f.getAbsolutePath() );
-        }
-
-        // ----------------------------------------------------------------------------
-        // Configuration
-        // ----------------------------------------------------------------------------
-
-        String config = getCustomConfigurationName();
-
-        ContainerConfiguration containerConfiguration = new DefaultContainerConfiguration()
-                .setName( "test" )
-                .setContext( context.getContextData() );
-
-        if ( config != null )
-        {
-            containerConfiguration.setContainerConfiguration( config );
-        }
-        else
-        {
-            String resource = getConfigurationName( null );
-
-            containerConfiguration.setContainerConfiguration( resource );
-        }
-
-        customizeContainerConfiguration( containerConfiguration );
-
-        try
-        {
-            container = new DefaultPlexusContainer( containerConfiguration );
-        }
-        catch ( PlexusContainerException e )
-        {
-            throw new IllegalArgumentException( "Failed to create plexus container.", e );
-        }
-    }
-
-    /**
-     * Allow custom test case implementations do augment the default container configuration before
-     * executing tests.
-     *
-     * @param containerConfiguration {@link ContainerConfiguration}.
-     */
-    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
-    {
-    }
-
-    protected void customizeContext( Context context )
-    {
-    }
-
-    protected PlexusConfiguration customizeComponentConfiguration()
-    {
-        return null;
-    }
-
-    @After
-    public void tearDown()
-            throws Exception
-    {
-        if ( container != null )
-        {
-            container.dispose();
-
-            container = null;
-        }
-    }
-
-    protected PlexusContainer getContainer()
-    {
-        if ( container == null )
-        {
-            setupContainer();
-        }
-
-        return container;
-    }
-
-    protected InputStream getConfiguration()
-            throws Exception
-    {
-        return getConfiguration( null );
-    }
-
-    protected InputStream getConfiguration( String subname )
-            throws Exception
-    {
-        return getResourceAsStream( getConfigurationName( subname ) );
-    }
-
-    protected String getCustomConfigurationName()
-    {
-        return null;
-    }
-
-    /**
-     * Allow the retrieval of a container configuration that is based on the name
-     * of the test class being run. So if you have a test class called org.foo.FunTest, then
-     * this will produce a resource name of org/foo/FunTest.xml which would be used to
-     * configure the Plexus container before running your test.
-     *
-     * @param subname the subname
-     * @return A configruation name
-     */
-    protected String getConfigurationName( String subname )
-    {
-        return getClass().getName().replace( '.', '/' ) + ".xml";
-    }
-
-    protected InputStream getResourceAsStream( String resource )
-    {
-        return getClass().getResourceAsStream( resource );
-    }
-
-    protected ClassLoader getClassLoader()
-    {
-        return getClass().getClassLoader();
-    }
-
-    // ----------------------------------------------------------------------
-    // Container access
-    // ----------------------------------------------------------------------
-
-    @SuppressWarnings("unchecked")
-    protected <T> T lookup( String componentKey )
-            throws ComponentLookupException
-    {
-        return (T) getContainer().lookup( componentKey );
-    }
-
-    @SuppressWarnings("unchecked")
-    protected <T> T lookup( String role,
-                            String roleHint )
-            throws ComponentLookupException
-    {
-        return (T) getContainer().lookup( role, roleHint );
-    }
-
-    protected <T> T lookup( Class<T> componentClass )
-            throws ComponentLookupException
-    {
-        return getContainer().lookup( componentClass );
-    }
-
-    protected <T> T lookup( Class<T> componentClass, String roleHint )
-            throws ComponentLookupException
-    {
-        return getContainer().lookup( componentClass, roleHint );
-    }
-
-    protected void release( Object component )
-            throws ComponentLifecycleException
-    {
-        getContainer().release( component );
-    }
-
-    // ----------------------------------------------------------------------
-    // Helper methods for sub classes
-    // ----------------------------------------------------------------------
-
-    public static File getTestFile( String path )
-    {
-        return new File( getBasedir(), path );
-    }
-
-    public static File getTestFile( String basedir,
-                                    String path )
-    {
-        File basedirFile = new File( basedir );
-
-        if ( !basedirFile.isAbsolute() )
-        {
-            basedirFile = getTestFile( basedir );
-        }
-
-        return new File( basedirFile, path );
-    }
-
-    public static String getTestPath( String path )
-    {
-        return getTestFile( path ).getAbsolutePath();
-    }
-
-    public static String getTestPath( String basedir,
-                                      String path )
-    {
-        return getTestFile( basedir, path ).getAbsolutePath();
-    }
-
-    public static String getBasedir()
-    {
-        if ( basedir != null )
-        {
-            return basedir;
-        }
-
-        basedir = System.getProperty( "basedir" );
-
-        if ( basedir == null )
-        {
-            basedir = new File( "" ).getAbsolutePath();
-        }
-
-        return basedir;
-    }
-
-    public String getTestConfiguration()
-    {
-        return getTestConfiguration( getClass() );
-    }
-
-    public static String getTestConfiguration( Class<?> clazz )
-    {
-        String s = clazz.getName().replace( '.', '/' );
-
-        return s.substring( 0, s.indexOf( "$" ) ) + ".xml";
-    }
-}
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
index 825d5c5..d872e16 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
@@ -21,7 +21,7 @@ package org.apache.maven.repository.internal;
 
 import java.net.MalformedURLException;
 
-import org.apache.maven.PlexusTestCase;
+import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.repository.internal.util.ConsoleRepositoryListener;
 import org.apache.maven.repository.internal.util.ConsoleTransferListener;
 import org.codehaus.plexus.ContainerConfiguration;
diff --git a/maven-test-support/pom.xml b/maven-test-support/pom.xml
new file mode 100644
index 0000000..8a5821c
--- /dev/null
+++ b/maven-test-support/pom.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven</groupId>
+    <artifactId>maven</artifactId>
+    <version>4.0.0-alpha-1-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>maven-test-support</artifactId>
+
+  <name>Maven Test Support</name>
+  <description>Test support classes for maven.</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>${junitVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.inject</groupId>
+      <artifactId>guice</artifactId>
+      <classifier>no_aop</classifier>
+    </dependency>
+    <dependency>
+      <groupId>javax.inject</groupId>
+      <artifactId>javax.inject</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-interpolation</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-cipher</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.sisu</groupId>
+      <artifactId>org.eclipse.sisu.plexus</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-component-annotations</artifactId>
+    </dependency>
+  </dependencies>
+
+</project>
diff --git a/maven-compat/src/test/java/org/apache/maven/PlexusTestCase.java b/maven-test-support/src/main/java/org/apache/maven/test/PlexusTestCase.java
similarity index 97%
rename from maven-compat/src/test/java/org/apache/maven/PlexusTestCase.java
rename to maven-test-support/src/main/java/org/apache/maven/test/PlexusTestCase.java
index d3801b8..0187ce1 100644
--- a/maven-compat/src/test/java/org/apache/maven/PlexusTestCase.java
+++ b/maven-test-support/src/main/java/org/apache/maven/test/PlexusTestCase.java
@@ -1,4 +1,4 @@
-package org.apache.maven;
+package org.apache.maven.test;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -53,7 +53,8 @@ import org.junit.Before;
 
 /**
  * This is a slightly modified version of the original plexus class
- * available at https://raw.githubusercontent.com/codehaus-plexus/plexus-containers/master/plexus-container-default/src/main/java/org/codehaus/plexus/PlexusTestCase.java
+ * available at https://raw.githubusercontent.com/codehaus-plexus/plexus-containers/master/plexus-container-default/
+ *              src/main/java/org/codehaus/plexus/PlexusTestCase.java
  * in order to migrate the tests to JUnit 4.
  *
  * @author Jason van Zyl
@@ -74,7 +75,7 @@ public abstract class PlexusTestCase
         basedir = getBasedir();
     }
 
-    @SuppressWarnings("ResultOfMethodCallIgnored")
+    @SuppressWarnings( "ResultOfMethodCallIgnored" )
     protected void setupContainer()
     {
         // ----------------------------------------------------------------------------
@@ -220,14 +221,14 @@ public abstract class PlexusTestCase
     // Container access
     // ----------------------------------------------------------------------
 
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings( "unchecked" )
     protected <T> T lookup( String componentKey )
             throws ComponentLookupException
     {
         return (T) getContainer().lookup( componentKey );
     }
 
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings( "unchecked" )
     protected <T> T lookup( String role,
                             String roleHint )
             throws ComponentLookupException
diff --git a/pom.xml b/pom.xml
index 23f976f..6c90fb2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,6 +80,7 @@ under the License.
   </properties>
 
   <modules>
+    <module>maven-test-support</module>
     <module>maven-plugin-api</module>
     <module>maven-builder-support</module>
     <module>maven-model</module>
@@ -183,6 +184,11 @@ under the License.
       <!--bootstrap-start-comment-->
       <dependency>
         <groupId>org.apache.maven</groupId>
+        <artifactId>maven-test-support</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven</groupId>
         <artifactId>maven-model</artifactId>
         <version>${project.version}</version>
       </dependency>


[maven] 08/08: Upgrade to junit 5

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MNG-7035
in repository https://gitbox.apache.org/repos/asf/maven.git

commit f8ba242af8e40f1c3dea708da447b94cda0a8a0b
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jan 8 18:09:11 2021 +0100

    Upgrade to junit 5
---
 .../apache/maven/settings/GlobalSettingsTest.java  |   6 +-
 .../apache/maven/artifact/ArtifactUtilsTest.java   |   6 +-
 .../apache/maven/artifact/DefaultArtifactTest.java |  10 +-
 .../artifact/versioning/ComparableVersionIT.java   |   6 +-
 .../artifact/versioning/ComparableVersionTest.java |  30 +-
 .../versioning/DefaultArtifactVersionTest.java     |  55 +-
 .../artifact/versioning/VersionRangeTest.java      | 641 +++++++++++----------
 .../building/DefaultProblemCollectorTest.java      |   6 +-
 .../apache/maven/building/DefaultProblemTest.java  |   6 +-
 .../org/apache/maven/building/FileSourceTest.java  |  11 +-
 .../building/ProblemCollectorFactoryTest.java      |   6 +-
 .../apache/maven/building/StringSourceTest.java    |   4 +-
 .../org/apache/maven/building/UrlSourceTest.java   |  11 +-
 .../AbstractArtifactComponentTestCase.java         |  22 +-
 .../artifact/deployer/ArtifactDeployerTest.java    |   8 +-
 .../factory/DefaultArtifactFactoryTest.java        |   9 +-
 .../artifact/installer/ArtifactInstallerTest.java  |   4 +-
 .../repository/MavenArtifactRepositoryTest.java    |   6 +-
 .../resolver/ArtifactResolutionExceptionTest.java  |   4 +-
 .../artifact/resolver/ArtifactResolverTest.java    |  30 +-
 .../resolver/DefaultArtifactResolverTest.java      |  16 +-
 .../resolver/filter/AndArtifactFilterTest.java     |   8 +-
 .../resolver/filter/FilterHashEqualsTest.java      |   4 +-
 .../resolver/filter/OrArtifactFilterTest.java      |   8 +-
 .../resolver/filter/ScopeArtifactFilterTest.java   |   6 +-
 .../maven/artifact/testutils/TestFileManager.java  |  11 +-
 .../transform/TransformationManagerTest.java       |  16 +-
 .../manager/DefaultProfileManagerTest.java         |   8 +-
 .../project/AbstractMavenProjectTestCase.java      |  14 +-
 .../org/apache/maven/project/ModelUtilsTest.java   |  16 +-
 .../apache/maven/project/ProjectClasspathTest.java |  49 +-
 .../inheritance/t00/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t01/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t02/ProjectInheritanceTest.java    |  12 +-
 .../inheritance/t03/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t04/ProjectInheritanceTest.java    |  18 +-
 .../inheritance/t05/ProjectInheritanceTest.java    |  16 +-
 .../inheritance/t06/ProjectInheritanceTest.java    |  18 +-
 .../inheritance/t07/ProjectInheritanceTest.java    |  22 +-
 .../inheritance/t08/ProjectInheritanceTest.java    |  17 +-
 .../inheritance/t09/ProjectInheritanceTest.java    |  38 +-
 .../inheritance/t10/ProjectInheritanceTest.java    |  20 +-
 .../inheritance/t11/ProjectInheritanceTest.java    |  10 +-
 .../inheritance/t12/ProjectInheritanceTest.java    |   8 +-
 .../inheritance/t12scm/ProjectInheritanceTest.java |   4 +-
 .../project/path/DefaultPathTranslatorTest.java    |   4 +-
 .../repository/DefaultMirrorSelectorTest.java      |   4 +-
 .../repository/LegacyRepositorySystemTest.java     |  16 +-
 .../maven/repository/MirrorProcessorTest.java      |  20 +-
 .../legacy/DefaultUpdateCheckManagerTest.java      |  16 +-
 .../repository/legacy/DefaultWagonManagerTest.java |  55 +-
 .../legacy/LegacyRepositorySystemTest.java         |  14 +-
 .../resolver/DefaultArtifactCollectorTest.java     | 187 +++---
 .../conflict/AbstractConflictResolverTest.java     |  19 +-
 .../conflict/FarthestConflictResolverTest.java     |   2 +-
 .../conflict/NearestConflictResolverTest.java      |   2 +-
 .../conflict/NewestConflictResolverTest.java       |   2 +-
 .../conflict/OldestConflictResolverTest.java       |   2 +-
 .../DefaultClasspathTransformationTest.java        |  33 +-
 .../DefaultGraphConflictResolutionPolicyTest.java  |  12 +-
 .../metadata/DefaultGraphConflictResolverTest.java |  77 ++-
 .../maven/AbstractCoreMavenComponentTestCase.java  |   4 +-
 .../java/org/apache/maven/DefaultMavenTest.java    |   4 +-
 .../maven/MavenLifecycleParticipantTest.java       |  10 +-
 .../src/test/java/org/apache/maven/MavenTest.java  |   4 +-
 .../maven/ProjectDependenciesResolverTest.java     |   6 +-
 .../artifact/handler/ArtifactHandlerTest.java      |  18 +-
 .../filter/ExclusionArtifactFilterTest.java        |   8 +-
 .../configuration/DefaultBeanConfiguratorTest.java |  12 +-
 .../exception/DefaultExceptionHandlerTest.java     |   4 +-
 .../DefaultBuildResumptionAnalyzerTest.java        |   6 +-
 .../DefaultBuildResumptionDataRepositoryTest.java  |   5 +-
 .../DefaultMavenExecutionRequestPopulatorTest.java |   8 +-
 .../maven/execution/DefaultMavenExecutionTest.java |   8 +-
 .../scope/internal/MojoExecutionScopeTest.java     |   8 +-
 .../maven/graph/DefaultGraphBuilderTest.java       |  50 +-
 .../graph/DefaultProjectDependencyGraphTest.java   |   4 +-
 .../aether/ConsumerModelSourceTransformerTest.java |   2 +-
 .../maven/lifecycle/DefaultLifecyclesTest.java     |   7 +-
 .../lifecycle/LifecycleExecutorSubModulesTest.java |   8 +-
 .../maven/lifecycle/LifecycleExecutorTest.java     |  26 +-
 .../maven/lifecycle/MavenExecutionPlanTest.java    |   8 +-
 .../internal/BuildListCalculatorTest.java          |  10 +-
 .../lifecycle/internal/BuilderCommonTest.java      |   4 +-
 .../internal/ConcurrencyDependencyGraphTest.java   |   4 +-
 .../internal/LifecycleDependencyResolverTest.java  |   6 +-
 .../LifecycleExecutionPlanCalculatorTest.java      |   4 +-
 .../LifecycleTaskSegmentCalculatorImplTest.java    |  10 +-
 .../lifecycle/internal/PhaseRecorderTest.java      |   6 +-
 .../lifecycle/internal/ProjectBuildListTest.java   |   6 +-
 .../ConcurrencyDependencyGraphTest.java            |   4 +-
 .../multithreaded/ThreadOutputMuxerTest.java       |   6 +-
 .../stub/ProjectDependencyGraphStubTest.java       |   6 +-
 .../lifecycle/mapping/LifecyclePhaseTest.java      |   8 +-
 .../org/apache/maven/plugin/PluginManagerTest.java |  12 +-
 .../maven/plugin/PluginParameterExceptionTest.java |   4 +-
 .../PluginParameterExpressionEvaluatorTest.java    |  34 +-
 .../plugin/internal/DefaultLegacySupportTest.java  |   4 +-
 .../project/AbstractMavenProjectTestCase.java      |  19 +-
 .../project/DefaultMavenProjectBuilderTest.java    |  58 +-
 .../project/ExtensionDescriptorBuilderTest.java    |  16 +-
 .../org/apache/maven/project/MavenProjectTest.java |  53 +-
 .../apache/maven/project/PomConstructionTest.java  |  60 +-
 .../apache/maven/project/ProjectBuilderTest.java   |  10 +-
 .../maven/project/ProjectModelResolverTest.java    |  40 +-
 .../apache/maven/project/ProjectSorterTest.java    |  20 +-
 .../artifact/DefaultMavenMetadataCacheTest.java    |  14 +-
 .../artifact/DefaultProjectArtifactsCacheTest.java |   8 +-
 .../project/artifact/MavenMetadataSourceTest.java  |  20 +-
 .../canonical/CanonicalProjectBuilderTest.java     |   6 +-
 .../internal/DefaultRuntimeInformationTest.java    |  29 +-
 .../settings/PomConstructionWithSettingsTest.java  |  13 +-
 .../apache/maven/settings/SettingsUtilsTest.java   |   6 +-
 .../DefaultToolchainManagerPrivateTest.java        |   8 +-
 .../toolchain/DefaultToolchainManagerTest.java     |   8 +-
 .../maven/toolchain/DefaultToolchainTest.java      |  12 +-
 .../toolchain/RequirementMatcherFactoryTest.java   |   8 +-
 .../building/DefaultToolchainsBuilderTest.java     |  10 +-
 .../building/ToolchainsBuildingExceptionTest.java  |   4 +-
 .../toolchain/merge/MavenToolchainMergerTest.java  |   4 +-
 .../maven/cli/CLIManagerDocumentationTest.java     |   2 +-
 .../java/org/apache/maven/cli/CLIManagerTest.java  |  10 +-
 .../apache/maven/cli/CLIReportingUtilsTest.java    |   4 +-
 .../org/apache/maven/cli/CleanArgumentTest.java    |   4 +-
 .../java/org/apache/maven/cli/MavenCliTest.java    |  38 +-
 .../maven/cli/event/ExecutionEventLoggerTest.java  |  10 +-
 .../maven/cli/transfer/FileSizeFormatTest.java     |  17 +-
 .../model/building/ComplexActivationTest.java      |   8 +-
 .../building/DefaultModelBuilderFactoryTest.java   |   6 +-
 .../model/building/DefaultModelBuilderTest.java    |   6 +-
 .../maven/model/building/FileModelSourceTest.java  |   9 +-
 .../model/building/FileToRawModelMergerTest.java   |   4 +-
 .../DefaultInheritanceAssemblerTest.java           |  28 +-
 .../AbstractModelInterpolatorTest.java             |  25 +-
 .../interpolation/MavenBuildTimestampTest.java     |   6 +-
 .../StringSearchModelInterpolatorTest.java         |  16 +-
 .../StringVisitorModelInterpolatorTest.java        |   9 +-
 .../maven/model/merge/MavenModelMergerTest.java    |   6 +-
 .../maven/model/path/DefaultUrlNormalizerTest.java |   6 +-
 .../activation/AbstractProfileActivatorTest.java   |  14 +-
 .../activation/JdkVersionProfileActivatorTest.java |   2 +-
 .../activation/PropertyProfileActivatorTest.java   |   2 +-
 .../validation/DefaultModelValidatorTest.java      |  26 +-
 .../org/apache/maven/model/ActivationFileTest.java |   8 +-
 .../org/apache/maven/model/ActivationOSTest.java   |   8 +-
 .../apache/maven/model/ActivationPropertyTest.java |   8 +-
 .../org/apache/maven/model/ActivationTest.java     |   8 +-
 .../java/org/apache/maven/model/BuildTest.java     |   8 +-
 .../org/apache/maven/model/CiManagementTest.java   |   8 +-
 .../org/apache/maven/model/ContributorTest.java    |   8 +-
 .../maven/model/DependencyManagementTest.java      |   8 +-
 .../org/apache/maven/model/DependencyTest.java     |   8 +-
 .../maven/model/DeploymentRepositoryTest.java      |   8 +-
 .../java/org/apache/maven/model/DeveloperTest.java |   8 +-
 .../maven/model/DistributionManagementTest.java    |   8 +-
 .../java/org/apache/maven/model/ExclusionTest.java |   8 +-
 .../java/org/apache/maven/model/ExtensionTest.java |   8 +-
 .../apache/maven/model/IssueManagementTest.java    |   8 +-
 .../java/org/apache/maven/model/LicenseTest.java   |   8 +-
 .../org/apache/maven/model/MailingListTest.java    |   8 +-
 .../java/org/apache/maven/model/ModelTest.java     |   8 +-
 .../java/org/apache/maven/model/NotifierTest.java  |   8 +-
 .../org/apache/maven/model/OrganizationTest.java   |   8 +-
 .../java/org/apache/maven/model/ParentTest.java    |   8 +-
 .../maven/model/PluginConfigurationTest.java       |   8 +-
 .../apache/maven/model/PluginContainerTest.java    |   8 +-
 .../apache/maven/model/PluginExecutionTest.java    |   8 +-
 .../apache/maven/model/PluginManagementTest.java   |   8 +-
 .../java/org/apache/maven/model/PluginTest.java    |   8 +-
 .../org/apache/maven/model/PrerequisitesTest.java  |   8 +-
 .../java/org/apache/maven/model/ProfileTest.java   |   8 +-
 .../org/apache/maven/model/RelocationTest.java     |   8 +-
 .../org/apache/maven/model/ReportPluginTest.java   |   8 +-
 .../java/org/apache/maven/model/ReportSetTest.java |   8 +-
 .../java/org/apache/maven/model/ReportingTest.java |   8 +-
 .../apache/maven/model/RepositoryPolicyTest.java   |   8 +-
 .../org/apache/maven/model/RepositoryTest.java     |   8 +-
 .../java/org/apache/maven/model/ResourceTest.java  |   8 +-
 .../test/java/org/apache/maven/model/ScmTest.java  |   8 +-
 .../test/java/org/apache/maven/model/SiteTest.java |   8 +-
 .../apache/maven/model/merge/ModelMergerTest.java  |   5 +-
 .../descriptor/PluginDescriptorBuilderTest.java    |   6 +-
 .../internal/AbstractRepositoryTestCase.java       |   8 +-
 .../DefaultArtifactDescriptorReaderTest.java       |   9 +-
 .../internal/DefaultModelResolverTest.java         |  40 +-
 .../internal/DefaultVersionResolverTest.java       |   9 +-
 .../internal/MavenRepositorySystemUtilsTest.java   |   6 +-
 .../internal/RemoteSnapshotMetadataTest.java       |  15 +-
 .../repository/internal/RepositorySystemTest.java  |  12 +-
 .../DefaultSettingsBuilderFactoryTest.java         |   4 +-
 .../validation/DefaultSettingsValidatorTest.java   |  16 +-
 .../org/slf4j/impl/MavenLoggerFactoryTest.java     |  20 +-
 maven-slf4j-wrapper/pom.xml                        |   5 +
 .../maven/logwrapper/LogLevelRecorderTest.java     |  10 +-
 maven-test-support/pom.xml                         |  16 +-
 .../main/java/org/apache/maven/test/Parameter.java |  25 +-
 .../java/org/apache/maven/test/Parameterized.java  |  30 +-
 .../apache/maven/test/ParameterizedExtension.java  | 182 ++++++
 .../java/org/apache/maven/test/Parameters.java     |  28 +-
 .../java/org/apache/maven/test/PlexusTestCase.java |   8 +-
 .../src/main/java/org/apache/maven/test/Test.java  |  27 +-
 .../org/apache/maven/wrapper/DownloaderTest.java   |  19 +-
 .../org/apache/maven/wrapper/InstallerTest.java    |  24 +-
 .../apache/maven/wrapper/PathAssemblerTest.java    |  15 +-
 .../apache/maven/wrapper/WrapperExecutorTest.java  |  44 +-
 maven-xml/pom.xml                                  |   5 +
 .../apache/maven/xml/sax/ChainedFilterTest.java    |   2 +-
 .../apache/maven/xml/sax/SAXEventUtilsTest.java    |   7 +-
 .../maven/xml/sax/ext/CommentRenormalizerTest.java |  21 +-
 .../xml/sax/filter/CiFriendlyXMLFilterTest.java    |   9 +-
 .../xml/sax/filter/ConsumerPomXMLFilterTest.java   |   2 +-
 .../maven/xml/sax/filter/ModulesXMLFilterTest.java |   2 +-
 .../maven/xml/sax/filter/ParentXMLFilterTest.java  |   4 +-
 .../sax/filter/ReactorDependencyXMLFilterTest.java |   2 +-
 .../xml/sax/filter/RelativePathXMLFilterTest.java  |   3 +-
 pom.xml                                            |  11 +-
 216 files changed, 1897 insertions(+), 1769 deletions(-)

diff --git a/apache-maven/src/test/java/org/apache/maven/settings/GlobalSettingsTest.java b/apache-maven/src/test/java/org/apache/maven/settings/GlobalSettingsTest.java
index 394db3e..70a1115 100644
--- a/apache-maven/src/test/java/org/apache/maven/settings/GlobalSettingsTest.java
+++ b/apache-maven/src/test/java/org/apache/maven/settings/GlobalSettingsTest.java
@@ -26,9 +26,9 @@ import java.io.Reader;
 import java.nio.charset.StandardCharsets;
 
 import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests that the global settings.xml shipped with the distribution is in good state.
@@ -45,7 +45,7 @@ public class GlobalSettingsTest
         String basedir = System.getProperty( "basedir", System.getProperty( "user.dir" ) );
 
         File globalSettingsFile = new File( basedir, "src/assembly/maven/conf/settings.xml" );
-        assertTrue( globalSettingsFile.getAbsolutePath(), globalSettingsFile.isFile() );
+        assertTrue( globalSettingsFile.isFile(), globalSettingsFile.getAbsolutePath() );
 
         try ( Reader reader = new InputStreamReader( new FileInputStream( globalSettingsFile ), StandardCharsets.UTF_8) )
         {
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java
index c631aad..2cbe18e 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java
@@ -24,10 +24,10 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.maven.artifact.versioning.VersionRange;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * Tests {@link ArtifactUtils}.
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java
index 144f753..3e9eb4d 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java
@@ -21,11 +21,11 @@ package org.apache.maven.artifact;
 
 import org.apache.maven.artifact.handler.ArtifactHandlerMock;
 import org.apache.maven.artifact.versioning.VersionRange;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class DefaultArtifactTest
 {
@@ -45,7 +45,7 @@ public class DefaultArtifactTest
 
     private ArtifactHandlerMock artifactHandler;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java
index f79eb1a..cd63b4d 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java
@@ -29,9 +29,9 @@ import java.nio.file.SimpleFileVisitor;
 import java.nio.file.attribute.BasicFileAttributes;
 import java.util.regex.Pattern;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class ComparableVersionIT
 {
@@ -60,7 +60,7 @@ public class ComparableVersionIT
 
                     try
                     {
-                        assertEquals( "Unexpected exit code", 0, p.waitFor() );
+                        assertEquals( 0, p.waitFor(), "Unexpected exit code" );
                     }
                     catch ( InterruptedException e )
                     {
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java
index 95d8f50..a36f605 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java
@@ -21,10 +21,10 @@ package org.apache.maven.artifact.versioning;
 
 import java.util.Locale;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Test ComparableVersion.
@@ -41,8 +41,8 @@ public class ComparableVersionTest
         String parsedCanonical = new ComparableVersion( canonical ).getCanonical();
 
         System.out.println( "canonical( " + version + " ) = " + canonical );
-        assertEquals( "canonical( " + version + " ) = " + canonical + " -> canonical: " + parsedCanonical, canonical,
-                      parsedCanonical );
+        assertEquals( canonical, parsedCanonical,
+                "canonical( " + version + " ) = " + canonical + " -> canonical: " + parsedCanonical );
 
         return ret;
     }
@@ -70,8 +70,8 @@ public class ComparableVersionTest
             for ( int j = i; j < versions.length; j++ )
             {
                 Comparable high = c[j];
-                assertTrue( "expected " + low + " < " + high, low.compareTo( high ) < 0 );
-                assertTrue( "expected " + high + " > " + low, high.compareTo( low ) > 0 );
+                assertTrue( low.compareTo( high ) < 0, "expected " + low + " < " + high );
+                assertTrue( high.compareTo( low ) > 0, "expected " + high + " > " + low );
             }
         }
     }
@@ -80,11 +80,11 @@ public class ComparableVersionTest
     {
         Comparable c1 = newComparable( v1 );
         Comparable c2 = newComparable( v2 );
-        assertTrue( "expected " + v1 + " == " + v2, c1.compareTo( c2 ) == 0 );
-        assertTrue( "expected " + v2 + " == " + v1, c2.compareTo( c1 ) == 0 );
-        assertTrue( "expected same hashcode for " + v1 + " and " + v2, c1.hashCode() == c2.hashCode() );
-        assertTrue( "expected " + v1 + ".equals( " + v2 + " )", c1.equals( c2 ) );
-        assertTrue( "expected " + v2 + ".equals( " + v1 + " )", c2.equals( c1 ) );
+        assertTrue( c1.compareTo( c2 ) == 0, "expected " + v1 + " == " + v2 );
+        assertTrue( c2.compareTo( c1 ) == 0, "expected " + v2 + " == " + v1 );
+        assertTrue( c1.hashCode() == c2.hashCode(), "expected same hashcode for " + v1 + " and " + v2 );
+        assertTrue( c1.equals( c2 ), "expected " + v1 + ".equals( " + v2 + " )" );
+        assertTrue( c2.equals( c1 ), "expected " + v2 + ".equals( " + v1 + " )" );
     }
 
     private void checkVersionsArrayEqual( String[] array )
@@ -99,8 +99,8 @@ public class ComparableVersionTest
     {
         Comparable c1 = newComparable( v1 );
         Comparable c2 = newComparable( v2 );
-        assertTrue( "expected " + v1 + " < " + v2, c1.compareTo( c2 ) < 0 );
-        assertTrue( "expected " + v2 + " > " + v1, c2.compareTo( c1 ) > 0 );
+        assertTrue( c1.compareTo( c2 ) < 0, "expected " + v1 + " < " + v2 );
+        assertTrue( c2.compareTo( c1 ) > 0, "expected " + v2 + " > " + v1 );
     }
 
     @Test
@@ -348,6 +348,6 @@ public class ComparableVersionTest
 
         Comparable c2 = newComparable( "2" );
 
-        assertEquals( "reused instance should be equivalent to new instance", c1, c2 );
+        assertEquals( c1, c2, "reused instance should be equivalent to new instance" );
     }
 }
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
index 59072d4..aba36bb 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
@@ -19,11 +19,13 @@ package org.apache.maven.artifact.versioning;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Test DefaultArtifactVersion.
@@ -45,12 +47,12 @@ public class DefaultArtifactVersionTest
             "'" + version + "' parsed as ('" + artifactVersion.getMajorVersion() + "', '"
                 + artifactVersion.getMinorVersion() + "', '" + artifactVersion.getIncrementalVersion() + "', '"
                 + artifactVersion.getBuildNumber() + "', '" + artifactVersion.getQualifier() + "'), ";
-        assertEquals( parsed + "check major version", major, artifactVersion.getMajorVersion() );
-        assertEquals( parsed + "check minor version", minor, artifactVersion.getMinorVersion() );
-        assertEquals( parsed + "check incremental version", incremental, artifactVersion.getIncrementalVersion() );
-        assertEquals( parsed + "check build number", buildnumber, artifactVersion.getBuildNumber() );
-        assertEquals( parsed + "check qualifier", qualifier, artifactVersion.getQualifier() );
-        assertEquals( "check " + version + " string value", version, artifactVersion.toString() );
+        assertEquals( major, artifactVersion.getMajorVersion(), parsed + "check major version" );
+        assertEquals( minor, artifactVersion.getMinorVersion(), parsed + "check minor version" );
+        assertEquals( incremental, artifactVersion.getIncrementalVersion(), parsed + "check incremental version" );
+        assertEquals( buildnumber, artifactVersion.getBuildNumber(), parsed + "check build number" );
+        assertEquals( qualifier, artifactVersion.getQualifier(), parsed + "check qualifier" );
+        assertEquals( version, artifactVersion.toString(), "check " + version + " string value" );
     }
 
     @Test
@@ -204,31 +206,32 @@ public class DefaultArtifactVersionTest
     }
 
     @Test
+    @Disabled("That one does not work")
     public void testNonNumericVersionRepresentationReturnsANumberFormatException()
     {
-        try
-        {
-            new DefaultArtifactVersion( "..." );
-        }
-        catch ( Exception e )
-        {
-            assertTrue( "We expect a NumberFormatException to be thrown.", e instanceof NumberFormatException );
-        }
+        assertThrows(
+                NumberFormatException.class,
+                () -> new DefaultArtifactVersion( "..." ),
+                "We expect a NumberFormatException to be thrown." );
     }
 
     private void assertVersionOlder( String left, String right )
     {
-        assertTrue( left + " should be older than " + right,
-                    newArtifactVersion( left ).compareTo( newArtifactVersion( right ) ) < 0 );
-        assertTrue( right + " should be newer than " + left,
-                    newArtifactVersion( right ).compareTo( newArtifactVersion( left ) ) > 0 );
+        assertTrue(
+                newArtifactVersion( left ).compareTo( newArtifactVersion( right ) ) < 0,
+                left + " should be older than " + right );
+        assertTrue(
+                newArtifactVersion( right ).compareTo( newArtifactVersion( left ) ) > 0,
+                right + " should be newer than " + left );
     }
 
     private void assertVersionEqual( String left, String right )
     {
-        assertTrue( left + " should be equal to " + right,
-                    newArtifactVersion( left ).compareTo( newArtifactVersion( right ) ) == 0 );
-        assertTrue( right + " should be equal to " + left,
-                    newArtifactVersion( right ).compareTo( newArtifactVersion( left ) ) == 0 );
+        assertTrue(
+                newArtifactVersion( left ).compareTo( newArtifactVersion( right ) ) == 0,
+                left + " should be equal to " + right );
+        assertTrue(
+                newArtifactVersion( right ).compareTo( newArtifactVersion( left ) ) == 0,
+                right + " should be equal to " + left );
     }
 }
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
index c5bceb4..50270a0 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java
@@ -22,14 +22,14 @@ package org.apache.maven.artifact.versioning;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests version range construction.
@@ -62,93 +62,93 @@ public class VersionRangeTest
 
         VersionRange range = VersionRange.createFromVersionSpec( "(,1.0]" );
         List<Restriction> restrictions = range.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         Restriction restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.0", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
-        assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() );
-        assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) );
-        assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
+        assertNull( range.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
+        assertFalse( range.isSelectedVersionKnown( artifact ), CHECK_SELECTED_VERSION_KNOWN );
+        assertNull( range.getSelectedVersion( artifact ), CHECK_SELECTED_VERSION );
 
         range = VersionRange.createFromVersionSpec( "1.0" );
-        assertEquals( CHECK_VERSION_RECOMMENDATION, "1.0", range.getRecommendedVersion().toString() );
+        assertEquals( "1.0", range.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION );
         restrictions = range.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
-        assertTrue( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) );
-        assertEquals( CHECK_SELECTED_VERSION, "1.0", range.getSelectedVersion( artifact ).toString() );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
+        assertTrue( range.isSelectedVersionKnown( artifact ), CHECK_SELECTED_VERSION_KNOWN );
+        assertEquals( "1.0", range.getSelectedVersion( artifact ).toString(), CHECK_SELECTED_VERSION );
 
         range = VersionRange.createFromVersionSpec( "[1.0]" );
         restrictions = range.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.0", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.0", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
-        assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() );
-        assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) );
-        assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) );
+        assertEquals( "1.0", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
+        assertNull( range.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
+        assertFalse( range.isSelectedVersionKnown( artifact ), CHECK_SELECTED_VERSION_KNOWN );
+        assertNull( range.getSelectedVersion( artifact ), CHECK_SELECTED_VERSION );
 
         range = VersionRange.createFromVersionSpec( "[1.2,1.3]" );
         restrictions = range.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.2", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.3", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
-        assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() );
-        assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) );
-        assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) );
+        assertEquals( "1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
+        assertNull( range.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
+        assertFalse( range.isSelectedVersionKnown( artifact ), CHECK_SELECTED_VERSION_KNOWN );
+        assertNull( range.getSelectedVersion( artifact ), CHECK_SELECTED_VERSION );
 
         range = VersionRange.createFromVersionSpec( "[1.0,2.0)" );
         restrictions = range.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.0", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "2.0", restriction.getUpperBound().toString() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
-        assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() );
-        assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) );
-        assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) );
+        assertEquals( "1.0", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "2.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
+        assertNull( range.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
+        assertFalse( range.isSelectedVersionKnown( artifact ), CHECK_SELECTED_VERSION_KNOWN );
+        assertNull( range.getSelectedVersion( artifact ), CHECK_SELECTED_VERSION );
 
         range = VersionRange.createFromVersionSpec( "[1.5,)" );
         restrictions = range.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.5", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
-        assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() );
-        assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) );
-        assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) );
+        assertEquals( "1.5", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
+        assertNull( range.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
+        assertFalse( range.isSelectedVersionKnown( artifact ), CHECK_SELECTED_VERSION_KNOWN );
+        assertNull( range.getSelectedVersion( artifact ), CHECK_SELECTED_VERSION );
 
         range = VersionRange.createFromVersionSpec( "(,1.0],[1.2,)" );
         restrictions = range.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 2, restrictions.size() );
+        assertEquals( 2, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.0", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
-        assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
+        assertNull( range.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restriction = restrictions.get( 1 );
-        assertEquals( CHECK_LOWER_BOUND, "1.2", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
-        assertNull( CHECK_VERSION_RECOMMENDATION, range.getRecommendedVersion() );
-        assertFalse( CHECK_SELECTED_VERSION_KNOWN, range.isSelectedVersionKnown( artifact ) );
-        assertNull( CHECK_SELECTED_VERSION, range.getSelectedVersion( artifact ) );
+        assertEquals( "1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
+        assertNull( range.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
+        assertFalse( range.isSelectedVersionKnown( artifact ), CHECK_SELECTED_VERSION_KNOWN );
+        assertNull( range.getSelectedVersion( artifact ), CHECK_SELECTED_VERSION );
 
         range = VersionRange.createFromVersionSpec( "[1.0,)" );
         assertFalse( range.containsVersion( new DefaultArtifactVersion( "1.0-SNAPSHOT" ) ) );
@@ -187,479 +187,479 @@ public class VersionRangeTest
         VersionRange range2 = VersionRange.createFromVersionSpec( "1.1" );
         VersionRange mergedRange = range1.restrict( range2 );
         // TODO current policy is to retain the original version - is this correct, do we need strategies or is that handled elsewhere?
-//        assertEquals( CHECK_VERSION_RECOMMENDATION, "1.1", mergedRange.getRecommendedVersion().toString() );
-        assertEquals( CHECK_VERSION_RECOMMENDATION, "1.0", mergedRange.getRecommendedVersion().toString() );
+//        assertEquals( "1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION );
+        assertEquals( "1.0", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION );
         List<Restriction> restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         Restriction restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         mergedRange = range2.restrict( range1 );
-        assertEquals( CHECK_VERSION_RECOMMENDATION, "1.1", mergedRange.getRecommendedVersion().toString() );
+        assertEquals( "1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         // TODO test reversed restrictions on all below
         range1 = VersionRange.createFromVersionSpec( "[1.0,)" );
         range2 = VersionRange.createFromVersionSpec( "1.1" );
         mergedRange = range1.restrict( range2 );
-        assertEquals( CHECK_VERSION_RECOMMENDATION, "1.1", mergedRange.getRecommendedVersion().toString() );
+        assertEquals( "1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.0", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.0", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.1,)" );
         range2 = VersionRange.createFromVersionSpec( "1.1" );
         mergedRange = range1.restrict( range2 );
-        assertEquals( CHECK_VERSION_RECOMMENDATION, "1.1", mergedRange.getRecommendedVersion().toString() );
+        assertEquals( "1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.1]" );
         range2 = VersionRange.createFromVersionSpec( "1.1" );
         mergedRange = range1.restrict( range2 );
-        assertEquals( CHECK_VERSION_RECOMMENDATION, "1.1", mergedRange.getRecommendedVersion().toString() );
+        assertEquals( "1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(1.1,)" );
         range2 = VersionRange.createFromVersionSpec( "1.1" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.2,)" );
         range2 = VersionRange.createFromVersionSpec( "1.1" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.2", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(,1.2]" );
         range2 = VersionRange.createFromVersionSpec( "1.1" );
         mergedRange = range1.restrict( range2 );
-        assertEquals( CHECK_VERSION_RECOMMENDATION, "1.1", mergedRange.getRecommendedVersion().toString() );
+        assertEquals( "1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.2", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(,1.1]" );
         range2 = VersionRange.createFromVersionSpec( "1.1" );
         mergedRange = range1.restrict( range2 );
-        assertEquals( CHECK_VERSION_RECOMMENDATION, "1.1", mergedRange.getRecommendedVersion().toString() );
+        assertEquals( "1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.1", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.1", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(,1.1)" );
         range2 = VersionRange.createFromVersionSpec( "1.1" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.1", restriction.getUpperBound().toString() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.1", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(,1.0]" );
         range2 = VersionRange.createFromVersionSpec( "1.1" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.0", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(,1.0], [1.1,)" );
         range2 = VersionRange.createFromVersionSpec( "1.2" );
         mergedRange = range1.restrict( range2 );
-        assertEquals( CHECK_VERSION_RECOMMENDATION, "1.2", mergedRange.getRecommendedVersion().toString() );
+        assertEquals( "1.2", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 2, restrictions.size() );
+        assertEquals( 2, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.0", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 1 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(,1.0], [1.1,)" );
         range2 = VersionRange.createFromVersionSpec( "1.0.5" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 2, restrictions.size() );
+        assertEquals( 2, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.0", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 1 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(,1.1), (1.1,)" );
         range2 = VersionRange.createFromVersionSpec( "1.1" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 2, restrictions.size() );
+        assertEquals( 2, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertNull( CHECK_LOWER_BOUND, restriction.getLowerBound() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.1", restriction.getUpperBound().toString() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertNull( restriction.getLowerBound(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.1", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 1 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertNull( CHECK_UPPER_BOUND, restriction.getUpperBound() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertNull( restriction.getUpperBound(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.1,1.3]" );
         range2 = VersionRange.createFromVersionSpec( "(1.1,)" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.3", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(,1.3)" );
         range2 = VersionRange.createFromVersionSpec( "[1.2,1.3]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.2", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.3", restriction.getUpperBound().toString() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.1,1.3]" );
         range2 = VersionRange.createFromVersionSpec( "[1.2,)" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.2", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.3", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(,1.3]" );
         range2 = VersionRange.createFromVersionSpec( "[1.2,1.4]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.2", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.3", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(1.2,1.3]" );
         range2 = VersionRange.createFromVersionSpec( "[1.1,1.4]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.2", restriction.getLowerBound().toString() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.3", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(1.2,1.3)" );
         range2 = VersionRange.createFromVersionSpec( "[1.1,1.4]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.2", restriction.getLowerBound().toString() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.3", restriction.getUpperBound().toString() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.2,1.3)" );
         range2 = VersionRange.createFromVersionSpec( "[1.1,1.4]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.2", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.3", restriction.getUpperBound().toString() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.0,1.1]" );
         range2 = VersionRange.createFromVersionSpec( "[1.1,1.4]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.1", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.1", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.0,1.1)" );
         range2 = VersionRange.createFromVersionSpec( "[1.1,1.4]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
+        assertEquals( 0, restrictions.size(), CHECK_NUM_RESTRICTIONS );
 
         range1 = VersionRange.createFromVersionSpec( "[1.0,1.2],[1.3,1.5]" );
         range2 = VersionRange.createFromVersionSpec( "[1.1]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.1", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.1", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.0,1.2],[1.3,1.5]" );
         range2 = VersionRange.createFromVersionSpec( "[1.4]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.4", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.4", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.4", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.4", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.0,1.2],[1.3,1.5]" );
         range2 = VersionRange.createFromVersionSpec( "[1.1,1.4]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 2, restrictions.size() );
+        assertEquals( 2, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.2", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 1 );
-        assertEquals( CHECK_LOWER_BOUND, "1.3", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.4", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.3", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.4", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.0,1.2),(1.3,1.5]" );
         range2 = VersionRange.createFromVersionSpec( "[1.1,1.4]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 2, restrictions.size() );
+        assertEquals( 2, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.2", restriction.getUpperBound().toString() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 1 );
-        assertEquals( CHECK_LOWER_BOUND, "1.3", restriction.getLowerBound().toString() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.4", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.3", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.4", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.0,1.2],[1.3,1.5]" );
         range2 = VersionRange.createFromVersionSpec( "(1.1,1.4)" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 2, restrictions.size() );
+        assertEquals( 2, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.2", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 1 );
-        assertEquals( CHECK_LOWER_BOUND, "1.3", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.4", restriction.getUpperBound().toString() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.3", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.4", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.0,1.2),(1.3,1.5]" );
         range2 = VersionRange.createFromVersionSpec( "(1.1,1.4)" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 2, restrictions.size() );
+        assertEquals( 2, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.2", restriction.getUpperBound().toString() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 1 );
-        assertEquals( CHECK_LOWER_BOUND, "1.3", restriction.getLowerBound().toString() );
-        assertFalse( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.4", restriction.getUpperBound().toString() );
-        assertFalse( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.3", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertFalse( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.4", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertFalse( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "(,1.1),(1.4,)" );
         range2 = VersionRange.createFromVersionSpec( "[1.1,1.4]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
+        assertEquals( 0, restrictions.size(), CHECK_NUM_RESTRICTIONS );
 
         range1 = VersionRange.createFromVersionSpec( "(,1.1],[1.4,)" );
         range2 = VersionRange.createFromVersionSpec( "(1.1,1.4)" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
+        assertEquals( 0, restrictions.size(), CHECK_NUM_RESTRICTIONS );
 
         range1 = VersionRange.createFromVersionSpec( "[,1.1],[1.4,]" );
         range2 = VersionRange.createFromVersionSpec( "[1.2,1.3]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
+        assertEquals( 0, restrictions.size(), CHECK_NUM_RESTRICTIONS );
 
         range1 = VersionRange.createFromVersionSpec( "[1.0,1.2],[1.3,1.5]" );
         range2 = VersionRange.createFromVersionSpec( "[1.1,1.4],[1.6,]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 2, restrictions.size() );
+        assertEquals( 2, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.2", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 1 );
-        assertEquals( CHECK_LOWER_BOUND, "1.3", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.4", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.3", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.4", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.0,1.2],[1.3,1.5]" );
         range2 = VersionRange.createFromVersionSpec( "[1.1,1.4],[1.5,]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 3, restrictions.size() );
+        assertEquals( 3, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.2", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 1 );
-        assertEquals( CHECK_LOWER_BOUND, "1.3", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.4", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.3", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.4", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 2 );
-        assertEquals( CHECK_LOWER_BOUND, "1.5", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.5", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.5", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.5", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         range1 = VersionRange.createFromVersionSpec( "[1.0,1.2],[1.3,1.7]" );
         range2 = VersionRange.createFromVersionSpec( "[1.1,1.4],[1.5,1.6]" );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 3, restrictions.size() );
+        assertEquals( 3, restrictions.size(), CHECK_NUM_RESTRICTIONS );
         restriction = restrictions.get( 0 );
-        assertEquals( CHECK_LOWER_BOUND, "1.1", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.2", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 1 );
-        assertEquals( CHECK_LOWER_BOUND, "1.3", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.4", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.3", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.4", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
         restriction = restrictions.get( 2 );
-        assertEquals( CHECK_LOWER_BOUND, "1.5", restriction.getLowerBound().toString() );
-        assertTrue( CHECK_LOWER_BOUND_INCLUSIVE, restriction.isLowerBoundInclusive() );
-        assertEquals( CHECK_UPPER_BOUND, "1.6", restriction.getUpperBound().toString() );
-        assertTrue( CHECK_UPPER_BOUND_INCLUSIVE, restriction.isUpperBoundInclusive() );
+        assertEquals( "1.5", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND );
+        assertTrue( restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE );
+        assertEquals( "1.6", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND );
+        assertTrue( restriction.isUpperBoundInclusive(), CHECK_UPPER_BOUND_INCLUSIVE );
 
         // test restricting empty sets
         range1 = VersionRange.createFromVersionSpec( "[,1.1],[1.4,]" );
         range2 = VersionRange.createFromVersionSpec( "[1.2,1.3]" );
         range1 = range1.restrict( range2 );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
+        assertEquals( 0, restrictions.size(), CHECK_NUM_RESTRICTIONS );
 
         range1 = VersionRange.createFromVersionSpec( "[,1.1],[1.4,]" );
         range2 = VersionRange.createFromVersionSpec( "[1.2,1.3]" );
         range2 = range1.restrict( range2 );
         mergedRange = range1.restrict( range2 );
-        assertNull( CHECK_VERSION_RECOMMENDATION, mergedRange.getRecommendedVersion() );
+        assertNull( mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION );
         restrictions = mergedRange.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
+        assertEquals( 0, restrictions.size(), CHECK_NUM_RESTRICTIONS );
     }
 
     @Test
@@ -699,9 +699,10 @@ public class VersionRangeTest
 
     private void checkInvalidRange( String version )
     {
-        assertThrows( "Version " + version + " should have failed to construct",
+        assertThrows(
                 InvalidVersionSpecificationException.class,
-                () -> VersionRange.createFromVersionSpec( version ) );
+                () -> VersionRange.createFromVersionSpec( version ),
+                "Version " + version + " should have failed to construct" );
     }
 
     @Test
@@ -745,13 +746,13 @@ public class VersionRangeTest
         VersionRange spec = VersionRange.createFromVersionSpec( "1.0" );
         assertSame( spec, VersionRange.createFromVersionSpec( "1.0" ) ); // same instance from spec cache
         List<Restriction> restrictions = spec.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 1, restrictions.size() );
+        assertEquals( 1, restrictions.size(), CHECK_NUM_RESTRICTIONS );
 
         VersionRange version = VersionRange.createFromVersion( "1.0" );
         assertSame( version, VersionRange.createFromVersion( "1.0" ) ); // same instance from version cache
         restrictions = version.getRestrictions();
-        assertEquals( CHECK_NUM_RESTRICTIONS, 0, restrictions.size() );
+        assertEquals( 0, restrictions.size(), CHECK_NUM_RESTRICTIONS );
 
-        assertFalse( "check !VersionRange.createFromVersionSpec(x).equals(VersionRange.createFromVersion(x))", spec.equals( version ) );
+        assertFalse( spec.equals( version ), "check !VersionRange.createFromVersionSpec(x).equals(VersionRange.createFromVersion(x))" );
     }
 }
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java
index 0e5b20f..dbde11e 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java
@@ -20,10 +20,10 @@ package org.apache.maven.building;
  */
 
 import org.apache.maven.building.Problem.Severity;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 public class DefaultProblemCollectorTest
 {
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemTest.java
index d67128e..4d9a3d8 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemTest.java
@@ -20,10 +20,10 @@ package org.apache.maven.building;
  */
 
 import org.apache.maven.building.Problem.Severity;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertSame;
 
 public class DefaultProblemTest
 {
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java
index f1ac6e6..9373c01 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java
@@ -23,10 +23,10 @@ import java.io.File;
 import java.io.InputStream;
 import java.util.Scanner;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 public class FileSourceTest
 {
@@ -34,9 +34,10 @@ public class FileSourceTest
     @Test
     public void testFileSource()
     {
-        NullPointerException e = assertThrows( "Should fail, since you must specify a file",
+        NullPointerException e = assertThrows(
                 NullPointerException.class,
-                () -> new FileSource( null ) );
+                () -> new FileSource( null ),
+                "Should fail, since you must specify a file" );
         assertEquals( "file cannot be null", e.getMessage() );
     }
 
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/ProblemCollectorFactoryTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/ProblemCollectorFactoryTest.java
index 2ca0b37..ee2575b 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/ProblemCollectorFactoryTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/ProblemCollectorFactoryTest.java
@@ -21,10 +21,10 @@ package org.apache.maven.building;
 
 import java.util.Collections;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
 
 public class ProblemCollectorFactoryTest
 {
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/StringSourceTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/StringSourceTest.java
index 0c8531a..85309aa 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/StringSourceTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/StringSourceTest.java
@@ -22,9 +22,9 @@ package org.apache.maven.building;
 import java.io.InputStream;
 import java.util.Scanner;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class StringSourceTest
 {
diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java
index 05bdc4c..efdb9bb 100644
--- a/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java
+++ b/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java
@@ -24,10 +24,10 @@ import java.io.InputStream;
 import java.net.URL;
 import java.util.Scanner;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 public class UrlSourceTest
 {
@@ -35,9 +35,10 @@ public class UrlSourceTest
     @Test
     public void testUrlSource()
     {
-        NullPointerException e = assertThrows( "Should fail, since you must specify a url",
+        NullPointerException e = assertThrows(
                 NullPointerException.class,
-                () -> new UrlSource( null ) );
+                () -> new UrlSource( null ),
+                "Should fail, since you must specify a url" );
         assertEquals( "url cannot be null", e.getMessage() );
     }
 
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
index 7ad6719..146ec68 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
@@ -27,7 +27,6 @@ import java.io.Writer;
 import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 
 import javax.inject.Inject;
@@ -43,9 +42,6 @@ import org.apache.maven.execution.DefaultMavenExecutionResult;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.LegacySupport;
 import org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.collection.DependencyGraphTransformer;
@@ -68,11 +64,11 @@ import org.eclipse.aether.util.graph.transformer.NearestVersionSelector;
 import org.eclipse.aether.util.graph.transformer.SimpleOptionalitySelector;
 import org.eclipse.aether.util.graph.traverser.FatArtifactTraverser;
 import org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
@@ -92,7 +88,7 @@ public abstract class AbstractArtifactComponentTestCase
     @Inject @Named( "default" )
     ArtifactRepositoryLayout repoLayout;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
@@ -169,7 +165,7 @@ public abstract class AbstractArtifactComponentTestCase
 
         File file = new File( remoteRepo.getBasedir(), path );
 
-        assertTrue( "Remote artifact " + file + " should be present.", file.exists() );
+        assertTrue( file.exists(), "Remote artifact " + file + " should be present." );
     }
 
     protected void assertLocalArtifactPresent( Artifact artifact )
@@ -181,7 +177,7 @@ public abstract class AbstractArtifactComponentTestCase
 
         File file = new File( localRepo.getBasedir(), path );
 
-        assertTrue( "Local artifact " + file + " should be present.", file.exists() );
+        assertTrue( file.exists(), "Local artifact " + file + " should be present." );
     }
 
     protected void assertRemoteArtifactNotPresent( Artifact artifact )
@@ -193,7 +189,7 @@ public abstract class AbstractArtifactComponentTestCase
 
         File file = new File( remoteRepo.getBasedir(), path );
 
-        assertFalse( "Remote artifact " + file + " should not be present.", file.exists() );
+        assertFalse( file.exists(), "Remote artifact " + file + " should not be present." );
     }
 
     protected void assertLocalArtifactNotPresent( Artifact artifact )
@@ -205,7 +201,7 @@ public abstract class AbstractArtifactComponentTestCase
 
         File file = new File( localRepo.getBasedir(), path );
 
-        assertFalse( "Local artifact " + file + " should not be present.", file.exists() );
+        assertFalse( file.exists(), "Local artifact " + file + " should not be present." );
     }
 
     // ----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
index e1459d8..05191ae 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
@@ -25,11 +25,11 @@ import org.apache.maven.artifact.AbstractArtifactComponentTestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.codehaus.plexus.util.FileUtils;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import javax.inject.Inject;
 
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
index 3a0aa5b..6dcf99a 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
@@ -19,19 +19,14 @@ package org.apache.maven.artifact.factory;
  * under the License.
  */
 
-import java.util.Collections;
-
 import javax.inject.Inject;
 
 import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.versioning.VersionRange;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class DefaultArtifactFactoryTest
     extends PlexusTestCase
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
index 7ba6b33..695c5cc 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
@@ -23,8 +23,8 @@ import java.io.File;
 
 import org.apache.maven.artifact.AbstractArtifactComponentTestCase;
 import org.apache.maven.artifact.Artifact;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import javax.inject.Inject;
 
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/repository/MavenArtifactRepositoryTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/repository/MavenArtifactRepositoryTest.java
index 686b22e..4e7b5dc 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/repository/MavenArtifactRepositoryTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/repository/MavenArtifactRepositoryTest.java
@@ -20,10 +20,10 @@ package org.apache.maven.artifact.repository;
  */
 
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class MavenArtifactRepositoryTest
 {
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolutionExceptionTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolutionExceptionTest.java
index f86751b..e6b0e56 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolutionExceptionTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolutionExceptionTest.java
@@ -22,9 +22,9 @@ package org.apache.maven.artifact.resolver;
 import java.util.Arrays;
 import java.util.List;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Test the artifact resolution exception message
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
index 81272ee..d621d90 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
@@ -29,19 +29,18 @@ import java.util.Set;
 
 import org.apache.maven.artifact.AbstractArtifactComponentTestCase;
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.metadata.ResolutionGroup;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import javax.inject.Inject;
 
@@ -62,7 +61,7 @@ public class ArtifactResolverTest
 
     private Artifact projectArtifact;
 
-    @Before
+    @BeforeEach
     @Override
     public void setUp()
         throws Exception
@@ -72,7 +71,7 @@ public class ArtifactResolverTest
         projectArtifact = createLocalArtifact( "project", "3.0" );
     }
 
-    @After
+    @AfterEach
     @Override
     public void tearDown()
         throws Exception
@@ -170,9 +169,10 @@ public class ArtifactResolverTest
     {
         Artifact k = createArtifact( "k", "1.0" );
 
-        assertThrows( "Resolution succeeded when it should have failed",
+        assertThrows(
                 ArtifactNotFoundException.class,
-                () -> artifactResolver.resolve( k, remoteRepositories(), localRepository() ) );
+                () -> artifactResolver.resolve( k, remoteRepositories(), localRepository() ),
+                "Resolution succeeded when it should have failed" );
     }
 
     @Test
@@ -247,8 +247,8 @@ public class ArtifactResolverTest
         printErrors( result );
 
         Iterator<Artifact> i = result.getArtifacts().iterator();
-        assertEquals( "n should be first", n, i.next() );
-        assertEquals( "m should be second", m, i.next() );
+        assertEquals( n, i.next(), "n should be first" );
+        assertEquals( m, i.next(), "m should be second" );
 
         // inverse order
         set = new LinkedHashSet<>();
@@ -261,8 +261,8 @@ public class ArtifactResolverTest
         printErrors( result );
 
         i = result.getArtifacts().iterator();
-        assertEquals( "m should be first", m, i.next() );
-        assertEquals( "n should be second", n, i.next() );
+        assertEquals( m, i.next(), "m should be first" );
+        assertEquals( n, i.next(), "n should be second" );
     }
 
     private void printErrors( ArtifactResolutionResult result )
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java
index 6e4926b..fdd5f62 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java
@@ -24,11 +24,11 @@ import java.util.Collections;
 import org.apache.maven.artifact.AbstractArtifactComponentTestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.resolver.DefaultArtifactResolver.DaemonThreadCreator;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import javax.inject.Inject;
 
@@ -40,7 +40,7 @@ public class DefaultArtifactResolverTest
 
     private Artifact projectArtifact;
 
-    @Before
+    @BeforeEach
     @Override
     public void setUp()
         throws Exception
@@ -49,7 +49,7 @@ public class DefaultArtifactResolverTest
         projectArtifact = createLocalArtifact( "project", "3.0" );
     }
 
-    @After
+    @AfterEach
     @Override
     public void tearDown()
         throws Exception
@@ -102,12 +102,12 @@ public class DefaultArtifactResolverTest
             {
                 String name = active.getName();
                 boolean daemon = active.isDaemon();
-                assertTrue( name + " is no daemon Thread.", daemon );
+                assertTrue( daemon, name + " is no daemon Thread." );
             }
 
         }
 
-        assertTrue( "Could not find ThreadGroup: " + DaemonThreadCreator.THREADGROUP_NAME, seen );
+        assertTrue( seen, "Could not find ThreadGroup: " + DaemonThreadCreator.THREADGROUP_NAME );
     }
 
     @Test
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java
index 1c42a2e..96a8882 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java
@@ -21,11 +21,11 @@ package org.apache.maven.artifact.resolver.filter;
 
 import java.util.Arrays;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@link AndArtifactFilter}.
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/FilterHashEqualsTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/FilterHashEqualsTest.java
index e33a1e4..6c3df9e 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/FilterHashEqualsTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/FilterHashEqualsTest.java
@@ -22,9 +22,9 @@ package org.apache.maven.artifact.resolver.filter;
 import java.util.Arrays;
 import java.util.List;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * @author Igor Fedorenko
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java
index 85488ee..65d9caa 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java
@@ -21,11 +21,11 @@ package org.apache.maven.artifact.resolver.filter;
 
 import java.util.Arrays;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@link OrArtifactFilter}.
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilterTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilterTest.java
index 985f90b..914ff99 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilterTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilterTest.java
@@ -21,10 +21,10 @@ package org.apache.maven.artifact.resolver.filter;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DefaultArtifact;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@link ScopeArtifactFilter}.
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/testutils/TestFileManager.java b/maven-compat/src/test/java/org/apache/maven/artifact/testutils/TestFileManager.java
index 9761e75..558b5a5 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/testutils/TestFileManager.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/testutils/TestFileManager.java
@@ -45,7 +45,10 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.codehaus.plexus.util.FileUtils;
-import org.junit.Assert;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class TestFileManager
 {
@@ -157,11 +160,11 @@ public class TestFileManager
 
         if ( shouldExist )
         {
-            Assert.assertTrue( file.exists() );
+            assertTrue( file.exists() );
         }
         else
         {
-            Assert.assertFalse( file.exists() );
+            assertFalse( file.exists() );
         }
     }
 
@@ -174,7 +177,7 @@ public class TestFileManager
 
         String contents = FileUtils.fileRead( file, encoding );
 
-        Assert.assertEquals( contentsTest, contents );
+        assertEquals( contentsTest, contents );
     }
 
     public File createFile( File dir, String filename, String contents, String encoding )
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
index 78b9504..5c1ae2d 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
@@ -15,7 +15,6 @@ package org.apache.maven.artifact.transform;
  * the License.
  */
 
-import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.repository.legacy.resolver.transform.ArtifactTransformation;
@@ -23,14 +22,11 @@ import org.apache.maven.repository.legacy.resolver.transform.ArtifactTransformat
 import org.apache.maven.repository.legacy.resolver.transform.LatestArtifactTransformation;
 import org.apache.maven.repository.legacy.resolver.transform.ReleaseArtifactTransformation;
 import org.apache.maven.repository.legacy.resolver.transform.SnapshotTransformation;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
 import org.apache.maven.test.PlexusTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import javax.inject.Inject;
 
@@ -48,11 +44,11 @@ public class TransformationManagerTest
 
         assertEquals( 3, tms.size() );
 
-        assertTrue( "We expected the release transformation and got " + tms.get(0), tms.get(0) instanceof ReleaseArtifactTransformation );
+        assertTrue( tms.get(0) instanceof ReleaseArtifactTransformation, "We expected the release transformation and got " + tms.get(0) );
 
-        assertTrue( "We expected the latest transformation and got " + tms.get(1), tms.get(1) instanceof LatestArtifactTransformation );
+        assertTrue( tms.get(1) instanceof LatestArtifactTransformation, "We expected the latest transformation and got " + tms.get(1) );
 
-        assertTrue( "We expected the snapshot transformation and got " + tms.get(2), tms.get(2) instanceof SnapshotTransformation );
+        assertTrue( tms.get(2) instanceof SnapshotTransformation, "We expected the snapshot transformation and got " + tms.get(2) );
     }
 
 }
diff --git a/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java b/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
index 4999289..442493a 100644
--- a/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
@@ -28,12 +28,10 @@ import org.apache.maven.model.ActivationProperty;
 import org.apache.maven.model.Profile;
 import org.apache.maven.profiles.DefaultProfileManager;
 import org.apache.maven.profiles.ProfileManager;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.PlexusConstants;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 public class DefaultProfileManagerTest
     extends PlexusTestCase
diff --git a/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
index 3885380..338cffa 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -21,7 +21,6 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.Arrays;
-import java.util.Collections;
 
 import javax.inject.Inject;
 
@@ -32,14 +31,11 @@ import org.apache.maven.model.building.ModelBuildingException;
 import org.apache.maven.model.building.ModelProblem;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
 import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.fail;
 
 /**
  * @author Jason van Zyl
@@ -53,7 +49,7 @@ public abstract class AbstractMavenProjectTestCase
     protected RepositorySystem repositorySystem;
 
     @Override
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
@@ -70,7 +66,7 @@ public abstract class AbstractMavenProjectTestCase
         }
     }
 
-    @After
+    @AfterEach
     public void tearDown()
         throws Exception
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/ModelUtilsTest.java b/maven-compat/src/test/java/org/apache/maven/project/ModelUtilsTest.java
index d67259c..74178d9 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/ModelUtilsTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/ModelUtilsTest.java
@@ -34,12 +34,12 @@ import org.apache.maven.model.PluginExecution;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
 
 public class ModelUtilsTest
 {
@@ -549,7 +549,7 @@ public class ModelUtilsTest
         ModelUtils.mergePluginDefinitions( pChild, pParent, true );
 
         Map executionMap = pChild.getExecutionsAsMap();
-        assertNull( "test execution should not be inherited from parent.", executionMap.get( testId ) );
+        assertNull( executionMap.get( testId ), "test execution should not be inherited from parent." );
     }
 
     @Test
@@ -590,7 +590,7 @@ public class ModelUtilsTest
         ModelUtils.mergePluginDefinitions( pChild, pParent, true );
 
         Map executionMap = pChild.getExecutionsAsMap();
-        assertNull( "test execution should not be inherited from parent.", executionMap.get( testId ) );
+        assertNull( executionMap.get( testId ), "test execution should not be inherited from parent." );
     }
 
     @Test
@@ -631,7 +631,7 @@ public class ModelUtilsTest
         ModelUtils.mergePluginDefinitions( pChild, pParent, true );
 
         Map executionMap = pChild.getExecutionsAsMap();
-        assertNotNull( "test execution should be inherited from parent.", executionMap.get( testId ) );
+        assertNotNull( executionMap.get( testId ), "test execution should be inherited from parent." );
     }
 
 }
diff --git a/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java b/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
index 0db4321..0cc449f 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
@@ -20,25 +20,17 @@ package org.apache.maven.project;
  */
 
 import java.io.File;
-import java.util.Collections;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.execution.DefaultMavenExecutionRequest;
-import org.apache.maven.execution.DefaultMavenExecutionResult;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.DefaultArtifactDescriptorReader;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
-import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.impl.ArtifactDescriptorReader;
 import org.eclipse.aether.impl.ArtifactResolver;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 public class ProjectClasspathTest
     extends AbstractMavenProjectTestCase
@@ -46,6 +38,7 @@ public class ProjectClasspathTest
     static final String dir = "projects/scope/";
 
     @Override
+    @BeforeEach
     public void setUp()
             throws Exception
     {
@@ -74,7 +67,7 @@ public class ProjectClasspathTest
 
         Artifact artifact;
 
-        assertNotNull( "Test project can't be null!", project );
+        assertNotNull( project, "Test project can't be null!" );
 
         checkArtifactIdScope( project, "provided", "provided" );
         checkArtifactIdScope( project, "test", "test" );
@@ -84,53 +77,53 @@ public class ProjectClasspathTest
 
         // check all transitive deps of a test dependency are test, except test and provided which is skipped
         artifact = getArtifact( project, "maven-test-test", "scope-provided" );
-        assertNull( "Check no provided dependencies are transitive", artifact );
+        assertNull( artifact, "Check no provided dependencies are transitive" );
         artifact = getArtifact( project, "maven-test-test", "scope-test" );
-        assertNull( "Check no test dependencies are transitive", artifact );
+        assertNull( artifact, "Check no test dependencies are transitive" );
 
         artifact = getArtifact( project, "maven-test-test", "scope-compile" );
         assertNotNull( artifact );
 
         System.out.println( "a = " + artifact );
         System.out.println( "b = " + artifact.getScope() );
-        assertEquals( "Check scope", "test", artifact.getScope() );
+        assertEquals( "test", artifact.getScope(), "Check scope" );
         artifact = getArtifact( project, "maven-test-test", "scope-default" );
-        assertEquals( "Check scope", "test", artifact.getScope() );
+        assertEquals( "test", artifact.getScope(), "Check scope" );
         artifact = getArtifact( project, "maven-test-test", "scope-runtime" );
-        assertEquals( "Check scope", "test", artifact.getScope() );
+        assertEquals( "test", artifact.getScope(), "Check scope" );
 
         // check all transitive deps of a provided dependency are provided scope, except for test
         checkGroupIdScope( project, "provided", "maven-test-provided" );
         artifact = getArtifact( project, "maven-test-provided", "scope-runtime" );
-        assertEquals( "Check scope", "provided", artifact.getScope() );
+        assertEquals( "provided", artifact.getScope(), "Check scope" );
 
         // check all transitive deps of a runtime dependency are runtime scope, except for test
         checkGroupIdScope( project, "runtime", "maven-test-runtime" );
         artifact = getArtifact( project, "maven-test-runtime", "scope-runtime" );
-        assertEquals( "Check scope", "runtime", artifact.getScope() );
+        assertEquals( "runtime", artifact.getScope(), "Check scope" );
 
         // check all transitive deps of a compile dependency are compile scope, except for runtime and test
         checkGroupIdScope( project, "compile", "maven-test-compile" );
         artifact = getArtifact( project, "maven-test-compile", "scope-runtime" );
-        assertEquals( "Check scope", "runtime", artifact.getScope() );
+        assertEquals( "runtime", artifact.getScope(), "Check scope" );
 
         // check all transitive deps of a default dependency are compile scope, except for runtime and test
         checkGroupIdScope( project, "compile", "maven-test-default" );
         artifact = getArtifact( project, "maven-test-default", "scope-runtime" );
-        assertEquals( "Check scope", "runtime", artifact.getScope() );
+        assertEquals( "runtime", artifact.getScope(), "Check scope" );
     }
 
     private void checkGroupIdScope( MavenProject project, String scopeValue, String groupId )
     {
         Artifact artifact;
         artifact = getArtifact( project, groupId, "scope-compile" );
-        assertEquals( "Check scope", scopeValue, artifact.getScope() );
+        assertEquals( scopeValue, artifact.getScope(), "Check scope" );
         artifact = getArtifact( project, groupId, "scope-test" );
-        assertNull( "Check test dependency is not transitive", artifact );
+        assertNull( artifact, "Check test dependency is not transitive" );
         artifact = getArtifact( project, groupId, "scope-provided" );
-        assertNull( "Check provided dependency is not transitive", artifact );
+        assertNull( artifact, "Check provided dependency is not transitive" );
         artifact = getArtifact( project, groupId, "scope-default" );
-        assertEquals( "Check scope", scopeValue, artifact.getScope() );
+        assertEquals( scopeValue, artifact.getScope(), "Check scope" );
     }
 
     private void checkArtifactIdScope( MavenProject project, String scope, String scopeValue )
@@ -138,7 +131,7 @@ public class ProjectClasspathTest
         String artifactId = "scope-" + scope;
         Artifact artifact = getArtifact( project, "maven-test", artifactId );
         assertNotNull( artifact );
-        assertEquals( "Check scope", scopeValue, artifact.getScope() );
+        assertEquals( scopeValue, artifact.getScope(), "Check scope" );
     }
 
     private Artifact getArtifact( MavenProject project, String groupId, String artifactId )
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java
index 19c67a4..936424d 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java
@@ -21,9 +21,9 @@ package org.apache.maven.project.inheritance.t00;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * A test which demonstrates maven's recursive inheritance where
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java
index fe4f052..8f8199e 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t01/ProjectInheritanceTest.java
@@ -21,9 +21,9 @@ package org.apache.maven.project.inheritance.t01;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * A test which demonstrates maven's recursive inheritance where
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
index dbcc369..61a3932 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
@@ -29,11 +29,11 @@ import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginExecution;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * A test which demonstrates maven's recursive inheritance where
@@ -141,7 +141,7 @@ public class ProjectInheritanceTest
         {
             String pluginArtifactId = plugin.getArtifactId();
 
-            assertTrue( "Illegal plugin found: " + pluginArtifactId, validPluginCounts.containsKey( pluginArtifactId ) );
+            assertTrue( validPluginCounts.containsKey( pluginArtifactId ), "Illegal plugin found: " + pluginArtifactId );
 
             if ( pluginArtifactId.equals( testPluginArtifactId ) )
             {
@@ -150,7 +150,7 @@ public class ProjectInheritanceTest
 
             Integer count = validPluginCounts.get( pluginArtifactId );
 
-            assertEquals( "Multiple copies of plugin: " + pluginArtifactId + " found in POM.", 0, (int) count );
+            assertEquals( 0, (int) count, "Multiple copies of plugin: " + pluginArtifactId + " found in POM." );
 
             count = count + 1;
 
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java
index 82eaa28..3c658d8 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t03/ProjectInheritanceTest.java
@@ -23,9 +23,9 @@ import java.io.File;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * A test which demonstrates maven's recursive inheritance where
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
index 8cedce7..34a31d5 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t04/ProjectInheritanceTest.java
@@ -25,11 +25,11 @@ import java.util.Set;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Verifies the version of a dependency listed in a parent's
@@ -71,9 +71,9 @@ public class ProjectInheritanceTest
 
         assertEquals( pom0Basedir, project1.getParent().getBasedir() );
         Set set = project1.getArtifacts();
-        assertNotNull( "No artifacts", set );
-        assertTrue( "No Artifacts", set.size() > 0 );
-        assertTrue( "Set size should be 3, is " + set.size(), set.size() == 3 );
+        assertNotNull( set, "No artifacts" );
+        assertTrue( set.size() > 0, "No Artifacts" );
+        assertTrue( set.size() == 3, "Set size should be 3, is " + set.size() );
 
         for ( Object aSet : set )
         {
@@ -83,8 +83,8 @@ public class ProjectInheritanceTest
                     artifact.isOptional()
                         ? "true"
                         : "false" ) );
-            assertTrue( "Incorrect version for " + artifact.getDependencyConflictId(),
-                        artifact.getVersion().equals( "1.0" ) );
+            assertTrue( artifact.getVersion().equals( "1.0" ),
+                        "Incorrect version for " + artifact.getDependencyConflictId() );
         }
 
     }
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
index d8d8f22..8af4a2f 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t05/ProjectInheritanceTest.java
@@ -25,11 +25,11 @@ import java.util.Set;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * A test which demonstrates maven's dependency management
@@ -67,8 +67,8 @@ public class ProjectInheritanceTest
 
         assertEquals( pom0Basedir, project1.getParent().getBasedir() );
         Set set = project1.getArtifacts();
-        assertNotNull( "No artifacts", set );
-        assertTrue( "No Artifacts", set.size() > 0 );
+        assertNotNull( set, "No artifacts" );
+        assertTrue( set.size() > 0, "No Artifacts" );
 
         for ( Object aSet : set )
         {
@@ -76,8 +76,8 @@ public class ProjectInheritanceTest
             System.out.println(
                 "Artifact: " + artifact.getDependencyConflictId() + " " + artifact.getVersion() + " Scope: "
                     + artifact.getScope() );
-            assertTrue( "Incorrect version for " + artifact.getDependencyConflictId(),
-                        artifact.getVersion().equals( "1.0" ) );
+            assertTrue( artifact.getVersion().equals( "1.0" ),
+                        "Incorrect version for " + artifact.getDependencyConflictId() );
         }
 
     }
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
index f1c61b4..bc37066 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t06/ProjectInheritanceTest.java
@@ -26,11 +26,11 @@ import java.util.Set;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * A test which demonstrates maven's dependency management
@@ -68,18 +68,18 @@ public class ProjectInheritanceTest
 
         assertEquals( pom0Basedir, project1.getParent().getBasedir() );
         Set set = project1.getArtifacts();
-        assertNotNull( "No artifacts", set );
-        assertTrue( "No Artifacts", set.size() > 0 );
+        assertNotNull( set, "No artifacts" );
+        assertTrue( set.size() > 0, "No Artifacts" );
         Iterator iter = set.iterator();
-        assertTrue( "Set size should be 4, is " + set.size(), set.size() == 4 );
+        assertTrue( set.size() == 4, "Set size should be 4, is " + set.size() );
 
         while ( iter.hasNext() )
         {
             Artifact artifact = (Artifact) iter.next();
             System.out.println( "Artifact: " + artifact.getDependencyConflictId() + " " + artifact.getVersion()
               + " Optional=" + ( artifact.isOptional() ? "true" : "false" ) );
-            assertTrue( "Incorrect version for " + artifact.getDependencyConflictId(),
-                        artifact.getVersion().equals( "1.0" ) );
+            assertTrue( artifact.getVersion().equals( "1.0" ),
+                        "Incorrect version for " + artifact.getDependencyConflictId() );
         }
 
     }
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
index 1821fa1..87b07d3 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t07/ProjectInheritanceTest.java
@@ -25,12 +25,12 @@ import java.util.Set;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * A test which demonstrates maven's dependency management
@@ -68,21 +68,21 @@ public class ProjectInheritanceTest
         assertEquals( pom0Basedir, project1.getParent().getBasedir() );
         System.out.println("Project " + project1.getId() + " " + project1);
         Set set = project1.getArtifacts();
-        assertNotNull("No artifacts", set);
-        assertTrue("No Artifacts", set.size() > 0);
-        assertTrue("Set size should be 3, is " + set.size(), set.size() == 3 );
+        assertNotNull( set, "No artifacts" );
+        assertTrue( set.size() > 0, "No Artifacts" );
+        assertTrue( set.size() == 3, "Set size should be 3, is " + set.size() );
 
         for ( Object aSet : set )
         {
             Artifact artifact = (Artifact) aSet;
-            assertFalse( "", artifact.getArtifactId().equals( "t07-d" ) );
+            assertFalse( artifact.getArtifactId().equals( "t07-d" ) );
             System.out.println(
                 "Artifact: " + artifact.getDependencyConflictId() + " " + artifact.getVersion() + " Optional=" + (
                     artifact.isOptional()
                         ? "true"
                         : "false" ) );
-            assertTrue( "Incorrect version for " + artifact.getDependencyConflictId(),
-                        artifact.getVersion().equals( "1.0" ) );
+            assertTrue( artifact.getVersion().equals( "1.0" ),
+                        "Incorrect version for " + artifact.getDependencyConflictId() );
         }
     }
 }
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
index 9057752..c4562dc 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t08/ProjectInheritanceTest.java
@@ -26,11 +26,11 @@ import java.util.Set;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * A test which demonstrates maven's dependency management
@@ -69,18 +69,17 @@ public class ProjectInheritanceTest
         assertEquals( pom0Basedir, project1.getParent().getBasedir() );
         System.out.println( "Project " + project1.getId() + " " + project1 );
         Set set = project1.getArtifacts();
-        assertNotNull( "No artifacts", set );
-        assertTrue( "No Artifacts", set.size() > 0 );
+        assertNotNull( set, "No artifacts" );
+        assertTrue( set.size() > 0, "No Artifacts" );
         Iterator iter = set.iterator();
-        assertTrue( "Set size should be 4, is " + set.size(), set.size() == 4 );
+        assertTrue( set.size() == 4, "Set size should be 4, is " + set.size() );
 
         while ( iter.hasNext() )
         {
             Artifact artifact = (Artifact) iter.next();
             System.out.println( "Artifact: " + artifact.getDependencyConflictId() + " " + artifact.getVersion()
               + " Optional=" + ( artifact.isOptional() ? "true" : "false" ) );
-            assertTrue( "Incorrect version for " + artifact.getDependencyConflictId(),
-                        artifact.getVersion().equals( "1.0" ) );
+            assertTrue( artifact.getVersion().equals( "1.0" ), "Incorrect version for " + artifact.getDependencyConflictId() );
         }
 
     }
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
index bd1a5d3..dcc4e8b 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t09/ProjectInheritanceTest.java
@@ -23,12 +23,12 @@ import java.util.Map;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Verifies exclusions listed in dependencyManagement are valid for
@@ -76,17 +76,17 @@ public class ProjectInheritanceTest
         MavenProject project0 = getProjectWithDependencies( pom0 );
         MavenProject project1 = getProjectWithDependencies( pom1 );
 
-        assertNotNull("Parent is null", project1.getParent());
+        assertNotNull( project1.getParent(), "Parent is null" );
         assertEquals( pom0Basedir, project1.getParent().getBasedir() );
         Map map = project1.getArtifactMap();
 
-        assertNotNull("No artifacts", map);
-        assertTrue("No Artifacts", map.size() > 0);
-        assertTrue("Set size should be 2, is " + map.size(), map.size() == 2);
+        assertNotNull( map, "No artifacts" );
+        assertTrue( map.size() > 0, "No Artifacts" );
+        assertTrue( map.size() == 2, "Set size should be 2, is " + map.size() );
 
-        assertTrue("maven-test:t09-a is not in the project", map.containsKey( "maven-test:t09-a" ));
-        assertTrue("maven-test:t09-b is not in the project", map.containsKey( "maven-test:t09-b" ));
-        assertFalse("maven-test:t09-c is in the project", map.containsKey( "maven-test:t09-c" ));
+        assertTrue( map.containsKey( "maven-test:t09-a" ), "maven-test:t09-a is not in the project" );
+        assertTrue( map.containsKey( "maven-test:t09-b" ), "maven-test:t09-b is not in the project" );
+        assertFalse( map.containsKey( "maven-test:t09-c" ), "maven-test:t09-c is in the project" );
     }
 
     /**
@@ -115,13 +115,13 @@ public class ProjectInheritanceTest
 
         assertEquals( pom0Basedir, project2.getParent().getBasedir() );
         Map map = project2.getArtifactMap();
-        assertNotNull( "No artifacts", map );
-        assertTrue( "No Artifacts", map.size() > 0 );
-        assertTrue( "Set size should be 4, is " + map.size(), map.size() == 4 );
+        assertNotNull( map, "No artifacts" );
+        assertTrue( map.size() > 0, "No Artifacts" );
+        assertTrue( map.size() == 4, "Set size should be 4, is " + map.size() );
 
-        assertTrue( "maven-test:t09-a is not in the project", map.containsKey( "maven-test:t09-a" ) );
-        assertTrue( "maven-test:t09-b is not in the project", map.containsKey( "maven-test:t09-b" ) );
-        assertTrue( "maven-test:t09-c is not in the project", map.containsKey( "maven-test:t09-c" ) );
-        assertTrue( "maven-test:t09-d is not in the project", map.containsKey( "maven-test:t09-d" ) );
+        assertTrue( map.containsKey( "maven-test:t09-a" ), "maven-test:t09-a is not in the project" );
+        assertTrue( map.containsKey( "maven-test:t09-b" ), "maven-test:t09-b is not in the project" );
+        assertTrue( map.containsKey( "maven-test:t09-c" ), "maven-test:t09-c is not in the project" );
+        assertTrue( map.containsKey( "maven-test:t09-d" ), "maven-test:t09-d is not in the project" );
     }
 }
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
index 02bf015..b1e7408 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t10/ProjectInheritanceTest.java
@@ -25,11 +25,11 @@ import java.util.Map;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Verifies scope inheritance of direct and transitive dependencies.
@@ -74,9 +74,9 @@ public class ProjectInheritanceTest
         assertEquals( pom0Basedir, project1.getParent().getBasedir() );
         System.out.println("Project " + project1.getId() + " " + project1);
         Map map = project1.getArtifactMap();
-        assertNotNull("No artifacts", map);
-        assertTrue("No Artifacts", map.size() > 0);
-        assertTrue("Set size should be 3, is " + map.size(), map.size() == 3);
+        assertNotNull( map, "No artifacts" );
+        assertTrue( map.size() > 0, "No Artifacts" );
+        assertTrue( map.size() == 3, "Set size should be 3, is " + map.size() );
 
         Artifact a = (Artifact) map.get("maven-test:t10-a");
         Artifact b = (Artifact) map.get("maven-test:t10-b");
@@ -88,13 +88,13 @@ public class ProjectInheritanceTest
 
         // inherited from depMgmt
         System.out.println(a.getScope());
-        assertTrue("Incorrect scope for " + a.getDependencyConflictId(), a.getScope().equals("test"));
+        assertTrue( a.getScope().equals("test"), "Incorrect scope for " + a.getDependencyConflictId() );
 
         // transitive dep, overridden b depMgmt
-        assertTrue("Incorrect scope for " + b.getDependencyConflictId(), b.getScope().equals("runtime"));
+        assertTrue( b.getScope().equals("runtime"), "Incorrect scope for " + b.getDependencyConflictId() );
 
         // direct dep, overrides depMgmt
-        assertTrue("Incorrect scope for " + c.getDependencyConflictId(), c.getScope().equals("runtime"));
+        assertTrue( c.getScope().equals("runtime"), "Incorrect scope for " + c.getDependencyConflictId() );
 
     }
 }
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java
index 4d7fa51..3f21d5e 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t11/ProjectInheritanceTest.java
@@ -23,10 +23,10 @@ import java.io.File;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 /**
  * Verifies scope of root project is preserved regardless of parent dependency management.
@@ -63,7 +63,7 @@ public class ProjectInheritanceTest
         MavenProject project1 = getProjectWithDependencies( pom1 );
 
         assertEquals( pom0Basedir, project1.getParent().getBasedir() );
-        assertNull( "dependencyManagement has overwritten the scope of the currently building child project",
-                    project1.getArtifact().getScope() );
+        assertNull( project1.getArtifact().getScope(),
+                    "dependencyManagement has overwritten the scope of the currently building child project" );
     }
 }
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12/ProjectInheritanceTest.java
index b872930..086d710 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12/ProjectInheritanceTest.java
@@ -25,10 +25,10 @@ import java.util.Map;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 /**
  * Verifies that plugin execution sections in the parent POM that have
@@ -65,6 +65,6 @@ public class ProjectInheritanceTest extends AbstractProjectInheritanceTestCase
         assertNotNull( compilerPlugin );
 
         Map executionMap = compilerPlugin.getExecutionsAsMap();
-        assertNull( "Plugin execution: \'test\' should NOT exist in the compiler plugin specification for the child project!", executionMap.get( "test" ) );
+        assertNull( executionMap.get( "test" ), "Plugin execution: \'test\' should NOT exist in the compiler plugin specification for the child project!" );
     }
 }
\ No newline at end of file
diff --git a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java
index 0097961..82aee6c 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/inheritance/t12scm/ProjectInheritanceTest.java
@@ -23,9 +23,9 @@ import java.io.File;
 
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.inheritance.AbstractProjectInheritanceTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Verifies SCM inheritance uses modules statement from parent.
diff --git a/maven-compat/src/test/java/org/apache/maven/project/path/DefaultPathTranslatorTest.java b/maven-compat/src/test/java/org/apache/maven/project/path/DefaultPathTranslatorTest.java
index 4705568..022ccd5 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/path/DefaultPathTranslatorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/path/DefaultPathTranslatorTest.java
@@ -21,9 +21,9 @@ package org.apache.maven.project.path;
 
 import java.io.File;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 @SuppressWarnings( "deprecation" )
 public class DefaultPathTranslatorTest
 {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java
index 5735db0..97687e3 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java
@@ -21,9 +21,9 @@ package org.apache.maven.repository;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 
 public class DefaultMirrorSelectorTest
 {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
index f1ffbb0..eb56bc8 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
@@ -17,7 +17,6 @@ package org.apache.maven.repository;
 
 import java.io.File;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
@@ -33,20 +32,17 @@ import org.apache.maven.model.Repository;
 import org.apache.maven.model.RepositoryPolicy;
 import org.apache.maven.plugin.LegacySupport;
 import org.apache.maven.repository.legacy.LegacyRepositorySystem;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
 import org.apache.maven.test.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import javax.inject.Inject;
 
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
index b48bdd6..443bc44 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
@@ -20,7 +20,6 @@ package org.apache.maven.repository;
  */
 
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.test.PlexusTestCase;
@@ -28,17 +27,14 @@ import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory;
 import org.apache.maven.settings.Mirror;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import javax.inject.Inject;
 
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java
index fe65393..e826505 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultUpdateCheckManagerTest.java
@@ -31,14 +31,14 @@ import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
 import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class DefaultUpdateCheckManagerTest
     extends AbstractArtifactComponentTestCase
@@ -55,7 +55,7 @@ public class DefaultUpdateCheckManagerTest
         return "updateCheckManager";
     }
 
-    @Before
+    @BeforeEach
     @Override
     public void setUp()
         throws Exception
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
index a0e9f90..e6177c7 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
@@ -22,7 +22,6 @@ package org.apache.maven.repository.legacy;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
@@ -43,22 +42,19 @@ import org.apache.maven.wagon.events.TransferEvent;
 import org.apache.maven.wagon.events.TransferListener;
 import org.apache.maven.wagon.observers.AbstractTransferListener;
 import org.apache.maven.wagon.observers.Debug;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
 import org.apache.maven.test.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import javax.inject.Inject;
 
@@ -248,25 +244,27 @@ public class DefaultWagonManagerTest
         wagon.addExpectedContent( repo.getLayout().pathOf( artifact ) + ".md5", "cd26d9e10ce691cc69aa2b90dcebbdac" );
 
         /* getArtifact */
-        assertFalse( "Transfer listener is registered before test",
-                     wagon.getTransferEventSupport().hasTransferListener( transferListener ) );
+        assertFalse( wagon.getTransferEventSupport().hasTransferListener( transferListener ),
+                    "Transfer listener is registered before test" );
         wagonManager.getArtifact( artifact, repo, transferListener, false );
-        assertFalse( "Transfer listener still registered after getArtifact",
-                     wagon.getTransferEventSupport().hasTransferListener( transferListener ) );
+        assertFalse( wagon.getTransferEventSupport().hasTransferListener( transferListener ),
+                    "Transfer listener still registered after getArtifact" );
 
         /* putArtifact */
         File sampleFile = getTestFile( "target/test-file" );
         FileUtils.fileWrite( sampleFile.getAbsolutePath(), "sample file" );
 
-        assertFalse( "Transfer listener is registered before test", wagon.getTransferEventSupport().hasTransferListener( transferListener ) );
+        assertFalse( wagon.getTransferEventSupport().hasTransferListener( transferListener ),
+                    "Transfer listener is registered before test" );
         wagonManager.putArtifact( sampleFile, artifact, repo, transferListener );
-        assertFalse( "Transfer listener still registered after putArtifact", wagon.getTransferEventSupport().hasTransferListener( transferListener ) );
+        assertFalse( wagon.getTransferEventSupport().hasTransferListener( transferListener ),
+                    "Transfer listener still registered after putArtifact" );
     }
 
     /**
      * Checks the verification of checksums.
      */
-    @Ignore
+    @Disabled
     @Test
     public void testChecksumVerification()
         throws Exception
@@ -295,8 +293,10 @@ public class DefaultWagonManagerTest
         wagon.clearExpectedContent();
         wagon.addExpectedContent( "path", "expected-failure" );
         wagon.addExpectedContent( "path.sha1", "b7bb97d7d0b9244398d9b47296907f73313663e6" );
-        assertThrows( "Checksum verification did not fail", ChecksumFailedException.class, () ->
-                wagonManager.getArtifact( artifact, repo, null, false ) );
+        assertThrows(
+                ChecksumFailedException.class, () ->
+                wagonManager.getArtifact( artifact, repo, null, false ),
+                "Checksum verification did not fail" );
 
         wagon.clearExpectedContent();
         wagon.addExpectedContent( "path", "lower-case-checksum" );
@@ -311,9 +311,10 @@ public class DefaultWagonManagerTest
         wagon.clearExpectedContent();
         wagon.addExpectedContent( "path", "expected-failure" );
         wagon.addExpectedContent( "path.md5", "b7bb97d7d0b9244398d9b47296907f73313663e6" );
-        assertThrows( "Checksum verification did not fail",
+        assertThrows(
                 ChecksumFailedException.class,
-                () -> wagonManager.getArtifact( artifact, repo, null, false ) );
+                () -> wagonManager.getArtifact( artifact, repo, null, false ),
+                "Checksum verification did not fail" );
     }
 
     @Test
@@ -333,7 +334,7 @@ public class DefaultWagonManagerTest
     {
         Wagon wagon = wagonManager.getWagon( protocol );
 
-        assertNotNull( "Check wagon, protocol=" + protocol, wagon );
+        assertNotNull( wagon, "Check wagon, protocol=" + protocol );
     }
 
     private final class ArtifactRepositoryLayoutStub
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
index 1f4d69a..61f16cc 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
@@ -17,22 +17,18 @@ package org.apache.maven.repository.legacy;
 
 import java.io.File;
 import java.util.Arrays;
-import java.util.Collections;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.Authentication;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.settings.Server;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
 import org.apache.maven.test.PlexusTestCase;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import javax.inject.Inject;
 
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
index 5927030..0ef67d9 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/DefaultArtifactCollectorTest.java
@@ -49,18 +49,16 @@ import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException
 import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.PlexusConstants;
 import org.apache.maven.test.PlexusTestCase;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Test the default artifact collector.
@@ -82,7 +80,7 @@ public class DefaultArtifactCollectorTest
 
     private static final String GROUP_ID = "test";
 
-    @Before
+    @BeforeEach
     @Override
     public void setUp()
         throws Exception
@@ -95,29 +93,31 @@ public class DefaultArtifactCollectorTest
     }
 
     @Test
-    @Ignore("works, but we don't fail on cycles presently")
+    @Disabled("works, but we don't fail on cycles presently")
     public void testCircularDependencyNotIncludingCurrentProject()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
         ArtifactSpec a = createArtifactSpec( "a", "1.0" );
         ArtifactSpec b = a.addDependency( "b", "1.0" );
         b.addDependency( "a", "1.0" );
-        assertThrows( "Should have failed on cyclic dependency not involving project",
+        assertThrows(
                 CyclicDependencyException.class,
-                () -> collect( a ) );
+                () -> collect( a ),
+                "Should have failed on cyclic dependency not involving project" );
     }
 
     @Test
-    @Ignore("works, but we don't fail on cycles presently")
+    @Disabled("works, but we don't fail on cycles presently")
     public void testCircularDependencyIncludingCurrentProject()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
         ArtifactSpec a = createArtifactSpec( "a", "1.0" );
         ArtifactSpec b = a.addDependency( "b", "1.0" );
         b.addDependency( "project", "1.0" );
-        assertThrows( "Should have failed on cyclic dependency not involving project",
+        assertThrows(
                 CyclicDependencyException.class,
-                () -> collect( a ) );
+                () -> collect( a ),
+                "Should have failed on cyclic dependency not involving project" );
     }
 
     @Test
@@ -132,12 +132,12 @@ public class DefaultArtifactCollectorTest
         ArtifactSpec d = b.addDependency( "d", "4.0" );
 
         ArtifactResolutionResult res = collect( a );
-        assertEquals( "Check artifact list",
-                      createSet( new Object[] { a.artifact, b.artifact, c.artifact, d.artifact } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact, c.artifact, d.artifact } ), res.getArtifacts(),
+                    "Check artifact list" );
 
         ArtifactFilter filter = new ExclusionSetFilter( new String[] { "b" } );
         res = collect( a, filter );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, c.artifact } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, c.artifact } ), res.getArtifacts(), "Check artifact list" );
     }
 
     @Test
@@ -154,13 +154,13 @@ public class DefaultArtifactCollectorTest
         ArtifactSpec f = c1.addDependency( "f", "1.0" );
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, e.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact, e.artifact, c1.artifact,
-            f.artifact } ), res.getArtifacts() );
-        assertEquals( "Check version", "1.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact, e.artifact, c1.artifact, f.artifact } ), 
+                      res.getArtifacts(), "Check artifact list" );
+        assertEquals( "1.0", getArtifact( "c", res.getArtifacts() ).getVersion(), "Check version" );
     }
 
     @Test
-    @Ignore
+    @Disabled
     public void testResolveCorrectDependenciesWhenDifferentDependenciesOnNewest()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -175,13 +175,12 @@ public class DefaultArtifactCollectorTest
         c1.addDependency( "f", "1.0" );
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, e.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact, e.artifact, c2.artifact,
-            d.artifact } ), res.getArtifacts() );
-        assertEquals( "Check version", "2.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact, e.artifact, c2.artifact, d.artifact } ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "2.0", getArtifact( "c", res.getArtifacts() ).getVersion(), "Check version" );
     }
 
     @Test
-    @Ignore
+    @Disabled
     public void testResolveCorrectDependenciesWhenDifferentDependenciesOnNewestVersionReplaced()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -198,9 +197,9 @@ public class DefaultArtifactCollectorTest
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact } ) );
         Object[] artifacts = new Object[] { a.artifact, c.artifact, d1.artifact, b2.artifact, e.artifact, g.artifact };
-        assertEquals( "Check artifact list", createSet( artifacts ), res.getArtifacts() );
-        assertEquals( "Check version", "1.0", getArtifact( "d", res.getArtifacts() ).getVersion() );
-        assertEquals( "Check version", "2.0", getArtifact( "b", res.getArtifacts() ).getVersion() );
+        assertEquals( createSet( artifacts ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "1.0", getArtifact( "d", res.getArtifacts() ).getVersion(), "Check version" );
+        assertEquals( "2.0", getArtifact( "b", res.getArtifacts() ).getVersion(), "Check version" );
     }
 
     @Test
@@ -214,9 +213,8 @@ public class DefaultArtifactCollectorTest
         b.addDependency( "c", "2.0" );
 
         ArtifactResolutionResult res = collect( a );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact, c.artifact } ),
-                      res.getArtifacts() );
-        assertEquals( "Check version", "3.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact, c.artifact } ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "3.0", getArtifact( "c", res.getArtifacts() ).getVersion(), "Check version" );
     }
 
     @Test
@@ -230,9 +228,8 @@ public class DefaultArtifactCollectorTest
         b.addDependency( "c", "3.0" );
 
         ArtifactResolutionResult res = collect( a );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact, c.artifact } ),
-                      res.getArtifacts() );
-        assertEquals( "Check version", "2.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact, c.artifact } ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "2.0", getArtifact( "c", res.getArtifacts() ).getVersion(), "Check version" );
     }
 
     @Test
@@ -244,8 +241,8 @@ public class DefaultArtifactCollectorTest
         ArtifactSpec b = createArtifactSpec( "b", "3.0" );
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, b.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
-        assertEquals( "Check version", "3.0", getArtifact( "b", res.getArtifacts() ).getVersion() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "3.0", getArtifact( "b", res.getArtifacts() ).getVersion(), "Check version" );
     }
 
     @Test
@@ -257,8 +254,8 @@ public class DefaultArtifactCollectorTest
         ArtifactSpec b = createArtifactSpec( "b", "2.0" );
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, b.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
-        assertEquals( "Check version", "2.0", getArtifact( "b", res.getArtifacts() ).getVersion() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "2.0", getArtifact( "b", res.getArtifacts() ).getVersion(), "Check version" );
     }
 
     @Test
@@ -270,9 +267,9 @@ public class DefaultArtifactCollectorTest
         ArtifactSpec b = createArtifactSpec( "junit", "3.8.1", Artifact.SCOPE_TEST );
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, b.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
-        assertEquals( "Check version", "3.8.1", getArtifact( "junit", res.getArtifacts() ).getVersion() );
-        assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, getArtifact( "junit", res.getArtifacts() ).getScope() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "3.8.1", getArtifact( "junit", res.getArtifacts() ).getVersion(), "Check version" );
+        assertEquals( Artifact.SCOPE_TEST, getArtifact( "junit", res.getArtifacts() ).getScope(), "Check artifactScope" );
     }
 
     @Test
@@ -284,9 +281,9 @@ public class DefaultArtifactCollectorTest
         a.addDependency( "junit", "3.7" );
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, b.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
-        assertEquals( "Check version", "3.8.1", getArtifact( "junit", res.getArtifacts() ).getVersion() );
-        assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, getArtifact( "junit", res.getArtifacts() ).getScope() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "3.8.1", getArtifact( "junit", res.getArtifacts() ).getVersion(), "Check version" );
+        assertEquals( Artifact.SCOPE_TEST, getArtifact( "junit", res.getArtifacts() ).getScope(), "Check artifactScope" );
     }
 
     @Test
@@ -300,9 +297,8 @@ public class DefaultArtifactCollectorTest
         b.addDependency( "c", "[1.0,3.0]" );
 
         ArtifactResolutionResult res = collect( a );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact, c.artifact } ),
-                      res.getArtifacts() );
-        assertEquals( "Check version", "2.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact, c.artifact } ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "2.0", getArtifact( "c", res.getArtifacts() ).getVersion(), "Check version" );
     }
 
     @Test
@@ -315,9 +311,8 @@ public class DefaultArtifactCollectorTest
         ArtifactSpec managedB = createArtifactSpec( "b", "5.0" );
 
         ArtifactResolutionResult res = collect( a, managedB.artifact );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, managedB.artifact } ),
-                      res.getArtifacts() );
-        assertEquals( "Check version", "5.0", getArtifact( "b", res.getArtifacts() ).getVersion() );
+        assertEquals( createSet( new Object[] { a.artifact, managedB.artifact } ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "5.0", getArtifact( "b", res.getArtifacts() ).getVersion(), "Check version" );
     }
 
     @Test
@@ -332,9 +327,8 @@ public class DefaultArtifactCollectorTest
 
         ArtifactResolutionResult res = collect( a );
 
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact, c.artifact } ),
-                      res.getArtifacts() );
-        assertEquals( "Check version", "2.5", getArtifact( "c", res.getArtifacts() ).getVersion() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact, c.artifact } ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "2.5", getArtifact( "c", res.getArtifacts() ).getVersion(), "Check version" );
     }
 
     @Test
@@ -378,8 +372,8 @@ public class DefaultArtifactCollectorTest
 
         ArtifactResolutionResult res = collect( a );
 
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, c.artifact } ), res.getArtifacts() );
-        assertEquals( "Check version", "2.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
+        assertEquals( createSet( new Object[] { a.artifact, c.artifact } ), res.getArtifacts(), "Check artifact list" );
+        assertEquals( "2.0", getArtifact( "c", res.getArtifacts() ).getVersion(), "Check version" );
     }
 
     @Test
@@ -406,7 +400,7 @@ public class DefaultArtifactCollectorTest
         Artifact modifiedB = createArtifactSpec( "b", "5.0", Artifact.SCOPE_RUNTIME ).artifact;
 
         ArtifactResolutionResult res = collect( a, managedVersion );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, modifiedB } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, modifiedB } ), res.getArtifacts(), "Check artifact list" );
     }
 
     @Test
@@ -420,11 +414,11 @@ public class DefaultArtifactCollectorTest
 
         ArtifactResolutionResult result = collect( a, managedVersion );
 
-        assertEquals( "collect has modified version in originating artifact", "1.0", artifact.getVersion() );
+        assertEquals( "1.0", artifact.getVersion(), "collect has modified version in originating artifact" );
 
         Artifact resolvedArtifact = result.getArtifacts().iterator().next();
 
-        assertEquals( "Resolved version don't match original artifact version", "1.0", resolvedArtifact.getVersion() );
+        assertEquals( "1.0", resolvedArtifact.getVersion(), "Resolved version don't match original artifact version" );
     }
 
     @Test
@@ -439,11 +433,11 @@ public class DefaultArtifactCollectorTest
         Artifact modifiedC = createArtifactSpec( "c", "3.0", Artifact.SCOPE_COMPILE ).artifact;
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, c.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, modifiedC } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, modifiedC } ), res.getArtifacts(), "Check artifact list" );
         Artifact artifact = getArtifact( "c", res.getArtifacts() );
         // local wins now, and irrelevant if not local as test/provided aren't transitive
-        // assertEquals( "Check artifactScope", Artifact.SCOPE_COMPILE, artifact.getArtifactScope() );
-        assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, artifact.getScope() );
+        // assertEquals( Artifact.SCOPE_COMPILE, artifact.getArtifactScope(), "Check artifactScope" );
+        assertEquals( Artifact.SCOPE_TEST, artifact.getScope(), "Check artifactScope" );
     }
 
     @Test
@@ -458,11 +452,11 @@ public class DefaultArtifactCollectorTest
         Artifact modifiedC = createArtifactSpec( "c", "3.0", Artifact.SCOPE_RUNTIME ).artifact;
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, c.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, modifiedC } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, modifiedC } ), res.getArtifacts(), "Check artifact list" );
         Artifact artifact = getArtifact( "c", res.getArtifacts() );
         // local wins now, and irrelevant if not local as test/provided aren't transitive
-        // assertEquals( "Check artifactScope", Artifact.SCOPE_RUNTIME, artifact.getArtifactScope() );
-        assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, artifact.getScope() );
+        // assertEquals( Artifact.SCOPE_RUNTIME, artifact.getArtifactScope(), "Check artifactScope" );
+        assertEquals( Artifact.SCOPE_TEST, artifact.getScope(), "Check artifactScope" );
     }
 
     @Test
@@ -478,10 +472,9 @@ public class DefaultArtifactCollectorTest
         Artifact modifiedC = createArtifactSpec( "c", "3.0", Artifact.SCOPE_COMPILE ).artifact;
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { root.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, root.artifact, modifiedC } ),
-                      res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, root.artifact, modifiedC } ), res.getArtifacts(), "Check artifact list" );
         Artifact artifact = getArtifact( "c", res.getArtifacts() );
-        assertEquals( "Check artifactScope", Artifact.SCOPE_COMPILE, artifact.getScope() );
+        assertEquals( Artifact.SCOPE_COMPILE, artifact.getScope(), "Check artifactScope" );
     }
 
     @Test
@@ -496,11 +489,11 @@ public class DefaultArtifactCollectorTest
         Artifact modifiedC = createArtifactSpec( "c", "3.0", Artifact.SCOPE_COMPILE ).artifact;
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, c.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, modifiedC } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, modifiedC } ), res.getArtifacts(), "Check artifact list" );
         Artifact artifact = getArtifact( "c", res.getArtifacts() );
         // local wins now, and irrelevant if not local as test/provided aren't transitive
-        // assertEquals( "Check artifactScope", Artifact.SCOPE_COMPILE, artifact.getArtifactScope() );
-        assertEquals( "Check artifactScope", Artifact.SCOPE_PROVIDED, artifact.getScope() );
+        // assertEquals( Artifact.SCOPE_COMPILE, artifact.getArtifactScope(), "Check artifactScope" );
+        assertEquals( Artifact.SCOPE_PROVIDED, artifact.getScope(), "Check artifactScope" );
     }
 
     @Test
@@ -515,11 +508,11 @@ public class DefaultArtifactCollectorTest
         Artifact modifiedC = createArtifactSpec( "c", "3.0", Artifact.SCOPE_RUNTIME ).artifact;
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, c.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, modifiedC } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, modifiedC } ), res.getArtifacts(), "Check artifact list" );
         Artifact artifact = getArtifact( "c", res.getArtifacts() );
         // local wins now, and irrelevant if not local as test/provided aren't transitive
-        // assertEquals( "Check artifactScope", Artifact.SCOPE_RUNTIME, artifact.getArtifactScope() );
-        assertEquals( "Check artifactScope", Artifact.SCOPE_PROVIDED, artifact.getScope() );
+        // assertEquals( Artifact.SCOPE_RUNTIME, artifact.getArtifactScope(), "Check artifactScope" );
+        assertEquals( Artifact.SCOPE_PROVIDED, artifact.getScope(), "Check artifactScope" );
     }
 
     @Test
@@ -531,7 +524,7 @@ public class DefaultArtifactCollectorTest
         b.addDependency( "c", "3.0", Artifact.SCOPE_PROVIDED );
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, b.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts(), "Check artifact list" );
     }
 
     @Test
@@ -543,7 +536,7 @@ public class DefaultArtifactCollectorTest
         b.addDependency( "c", "3.0", true );
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, b.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts(), "Check artifact list" );
     }
 
     @Test
@@ -555,7 +548,7 @@ public class DefaultArtifactCollectorTest
         ArtifactSpec b = createArtifactSpec( "b", "1.0", true );
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, b.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts(), "Check artifact list" );
     }
 
     @Test
@@ -658,20 +651,20 @@ public class DefaultArtifactCollectorTest
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, b.artifact } ), filter );
         Artifact artifact = getArtifact( "d", res.getArtifacts() );
-        assertNotNull( "MNG-1895 Dependency was not added to resolution", artifact );
-        assertEquals( "Check artifactScope", expectedScope, artifact.getScope() );
-        assertEquals( "Check version", expectedVersion, artifact.getVersion() );
+        assertNotNull( artifact, "MNG-1895 Dependency was not added to resolution" );
+        assertEquals( expectedScope, artifact.getScope(), "Check artifactScope" );
+        assertEquals( expectedVersion, artifact.getVersion(), "Check version" );
 
         ArtifactSpec d = createArtifactSpec( "d", "1.0" );
         res = collect( createSet( new Object[] { a.artifact, b.artifact, d.artifact } ), filter );
         artifact = getArtifact( "d", res.getArtifacts() );
-        assertNotNull( "MNG-1895 Dependency was not added to resolution", artifact );
-        assertEquals( "Check artifactScope", d.artifact.getScope(), artifact.getScope() );
-        assertEquals( "Check version", "1.0", artifact.getVersion() );
+        assertNotNull( artifact, "MNG-1895 Dependency was not added to resolution" );
+        assertEquals( d.artifact.getScope(), artifact.getScope(), "Check artifactScope" );
+        assertEquals( "1.0", artifact.getVersion(), "Check version" );
     }
 
     @Test
-    @Ignore
+    @Disabled
     public void testOptionalNotTransitiveButVersionIsInfluential()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -685,10 +678,9 @@ public class DefaultArtifactCollectorTest
         ArtifactSpec c = createArtifactSpec( "c", "3.0" );
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, b.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact, c.artifact, d.artifact,
-            e.artifact } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact, c.artifact, d.artifact, e.artifact } ), res.getArtifacts(), "Check artifact list" );
         Artifact artifact = getArtifact( "c", res.getArtifacts() );
-        assertEquals( "Check version", "3.0", artifact.getVersion() );
+        assertEquals( "3.0", artifact.getVersion(), "Check version" );
     }
 
     @Test
@@ -700,7 +692,7 @@ public class DefaultArtifactCollectorTest
         b.addDependency( "c", "3.0", Artifact.SCOPE_TEST );
 
         ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact, b.artifact } ) );
-        assertEquals( "Check artifact list", createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts() );
+        assertEquals( createSet( new Object[] { a.artifact, b.artifact } ), res.getArtifacts(), "Check artifact list" );
     }
 
     @Test
@@ -723,6 +715,7 @@ public class DefaultArtifactCollectorTest
     }
 
     @Test
+    @Disabled("that one does not work")
     public void testOverConstrainedVersionException()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -735,15 +728,11 @@ public class DefaultArtifactCollectorTest
 
         ArtifactSpec c = createArtifactSpec( "c", "3.2.1-v3235e" );
 
-        try
-        {
-            ArtifactResolutionResult res = collect( createSet( new Object[] { a.artifact } ) );
-        }
-        catch ( OverConstrainedVersionException e )
-        {
-            assertTrue( "Versions unordered", e.getMessage().contains( "[3.2.1-v3235e, 3.3.0-v3346]" ) );
-            assertTrue( "DependencyTrail unresolved", e.getMessage().contains( "Path to dependency:" ) );
-        }
+        OverConstrainedVersionException e = assertThrows(
+                OverConstrainedVersionException.class,
+                () -> collect( createSet( new Object[] { a.artifact } ) ) );
+        assertTrue( e.getMessage().contains( "[3.2.1-v3235e, 3.3.0-v3346]" ), "Versions unordered" );
+        assertTrue( e.getMessage().contains( "Path to dependency:" ), "DependencyTrail unresolved" );
     }
 
     private Artifact getArtifact( String id, Set artifacts )
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
index 87fde6a..fbb2531 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
@@ -27,17 +27,14 @@ import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ResolutionNode;
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.VersionRange;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
 import org.apache.maven.test.PlexusTestCase;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 
 import javax.inject.Inject;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * Provides a basis for testing conflict resolvers.
@@ -79,7 +76,7 @@ public abstract class AbstractConflictResolverTest
     /*
      * @see junit.framework.TestCase#setUp()
      */
-    @Before
+    @BeforeEach
     @Override
     public void setUp()
             throws Exception
@@ -96,7 +93,7 @@ public abstract class AbstractConflictResolverTest
     /*
      * @see org.codehaus.plexus.PlexusTestCase#tearDown()
      */
-    @After
+    @AfterEach
     @Override
     public void tearDown() throws Exception
     {
@@ -120,8 +117,8 @@ public abstract class AbstractConflictResolverTest
     {
         ResolutionNode resolvedNode = getConflictResolver().resolveConflict( actualNode1, actualNode2 );
 
-        assertNotNull( "Expected resolvable", resolvedNode );
-        assertEquals( "Resolution node", expectedNode, resolvedNode );
+        assertNotNull( resolvedNode, "Expected resolvable" );
+        assertEquals( expectedNode, resolvedNode, "Resolution node" );
     }
 
     protected Artifact createArtifact( String id, String version ) throws InvalidVersionSpecificationException
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/FarthestConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/FarthestConflictResolverTest.java
index 4428f13..7b46ee3 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/FarthestConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/FarthestConflictResolverTest.java
@@ -20,7 +20,7 @@ package org.apache.maven.repository.legacy.resolver.conflict;
  */
 
 import org.apache.maven.artifact.resolver.ResolutionNode;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests <code>FarthestConflictResolver</code>.
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NearestConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NearestConflictResolverTest.java
index 5c188dc..34026bc 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NearestConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NearestConflictResolverTest.java
@@ -20,7 +20,7 @@ package org.apache.maven.repository.legacy.resolver.conflict;
  */
 
 import org.apache.maven.artifact.resolver.ResolutionNode;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests <code>NearestConflictResolver</code>.
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolverTest.java
index a9c4ca2..874644a 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/NewestConflictResolverTest.java
@@ -20,7 +20,7 @@ package org.apache.maven.repository.legacy.resolver.conflict;
  */
 
 import org.apache.maven.artifact.resolver.ResolutionNode;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests <code>NewestConflictResolver</code>.
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolverTest.java
index 3bbfa5f..76335f2 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/OldestConflictResolverTest.java
@@ -20,7 +20,7 @@ package org.apache.maven.repository.legacy.resolver.conflict;
  */
 
 import org.apache.maven.artifact.resolver.ResolutionNode;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests <code>OldestConflictResolver</code>.
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
index 10d39bc..ebe0fd5 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultClasspathTransformationTest.java
@@ -16,15 +16,14 @@ package org.apache.maven.repository.metadata;
  */
 
 import javax.inject.Inject;
-import javax.inject.Named;
 
 import org.apache.maven.artifact.ArtifactScopeEnum;
 import org.apache.maven.test.PlexusTestCase;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.BeforeEach;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  *
@@ -45,7 +44,7 @@ extends PlexusTestCase
     MetadataGraphVertex v3;
     MetadataGraphVertex v4;
     //------------------------------------------------------------------------------------------
-	@Before
+	@BeforeEach
     @Override
     public void setUp() throws Exception
     {
@@ -85,9 +84,9 @@ extends PlexusTestCase
 
         res = transform.transform( graph, ArtifactScopeEnum.compile, false );
 
-        assertNotNull("null classpath container after compile transform", res );
-        assertNotNull("null classpath after compile transform", res.getClasspath() );
-        assertEquals("compile classpath should have 3 entries", 3, res.getClasspath().size() );
+        assertNotNull( res, "null classpath container after compile transform" );
+        assertNotNull( res.getClasspath(), "null classpath after compile transform" );
+        assertEquals( 3, res.getClasspath().size(), "compile classpath should have 3 entries" );
     }
     //------------------------------------------------------------------------------------------
 	@Test
@@ -98,12 +97,12 @@ extends PlexusTestCase
 
         res = transform.transform( graph, ArtifactScopeEnum.runtime, false );
 
-        assertNotNull("null classpath container after runtime transform", res );
-        assertNotNull("null classpath after runtime transform", res.getClasspath() );
-        assertEquals("runtime classpath should have 4 entries", 4, res.getClasspath().size() );
+        assertNotNull( res, "null classpath container after runtime transform" );
+        assertNotNull( res.getClasspath(), "null classpath after runtime transform" );
+        assertEquals( 4, res.getClasspath().size(), "runtime classpath should have 4 entries" );
 
         ArtifactMetadata md = res.getClasspath().get(3);
-        assertEquals("runtime artifact version should be 1.1", "1.1", md.getVersion() );
+        assertEquals("1.1", md.getVersion(), "runtime artifact version should be 1.1" );
     }
     //------------------------------------------------------------------------------------------
 	@Test
@@ -114,12 +113,12 @@ extends PlexusTestCase
 
         res = transform.transform( graph, ArtifactScopeEnum.test, false );
 
-        assertNotNull("null classpath container after runtime transform", res );
-        assertNotNull("null classpath after runtime transform", res.getClasspath() );
-        assertEquals("runtime classpath should have 4 entries", 4, res.getClasspath().size() );
+        assertNotNull( res, "null classpath container after test transform" );
+        assertNotNull( res.getClasspath(), "null classpath after test transform" );
+        assertEquals( 4, res.getClasspath().size(), "test classpath should have 4 entries" );
 
         ArtifactMetadata md = res.getClasspath().get(3);
-        assertEquals("test artifact version should be 1.2", "1.2", md.getVersion() );
+        assertEquals("1.2", md.getVersion(), "test artifact version should be 1.2" );
     }
     //------------------------------------------------------------------------------------------
     //------------------------------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolutionPolicyTest.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolutionPolicyTest.java
index 5f144fd..ea4352e 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolutionPolicyTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolutionPolicyTest.java
@@ -15,10 +15,10 @@ package org.apache.maven.repository.metadata;
  * the License.
  */
 
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  *
@@ -33,7 +33,7 @@ public class DefaultGraphConflictResolutionPolicyTest
     MetadataGraphEdge e2;
     MetadataGraphEdge e3;
     //------------------------------------------------------------------------------------------
-	@Before
+	@BeforeEach
     public void setUp() throws Exception
 	{
 		policy = new DefaultGraphConflictResolutionPolicy();
@@ -49,10 +49,10 @@ public class DefaultGraphConflictResolutionPolicyTest
         MetadataGraphEdge res;
 
         res = policy.apply( e1, e2 );
-        assertEquals( "Wrong depth edge selected", "1.1", res.getVersion() );
+        assertEquals( "1.1", res.getVersion(), "Wrong depth edge selected" );
 
         res = policy.apply( e1, e3 );
-        assertEquals( "Wrong version edge selected", "1.2", res.getVersion() );
+        assertEquals( "1.2", res.getVersion(), "Wrong version edge selected" );
     }
     //------------------------------------------------------------------------------------------
     //------------------------------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
index 75663dc..a41464a 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java
@@ -19,12 +19,11 @@ import javax.inject.Inject;
 
 import org.apache.maven.artifact.ArtifactScopeEnum;
 import org.apache.maven.test.PlexusTestCase;
-import org.codehaus.plexus.logging.Logger;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  *
@@ -45,7 +44,7 @@ extends PlexusTestCase
     MetadataGraphVertex v3;
     MetadataGraphVertex v4;
     //------------------------------------------------------------------------------------------
-	@Before
+	@BeforeEach
     @Override
     public void setUp() throws Exception
     {
@@ -85,22 +84,22 @@ extends PlexusTestCase
 
         res = resolver.resolveConflicts( graph, ArtifactScopeEnum.compile );
 
-        assertNotNull("null graph after resolver", res );
-        assertNotNull("no vertices in the resulting graph after resolver", res.getVertices() );
+        assertNotNull( res, "null graph after resolver" );
+        assertNotNull( res.getVertices(), "no vertices in the resulting graph after resolver" );
 
-        assertNotNull("no edges in the resulting graph after resolver", res.getExcidentEdges(v1) );
+        assertNotNull( res.getExcidentEdges(v1), "no edges in the resulting graph after resolver" );
 
-        assertEquals( "wrong # of vertices in the resulting graph after resolver", 4, res.getVertices().size() );
-        assertEquals( "wrong # of excident edges in the resulting graph entry after resolver", 2, res.getExcidentEdges(v1).size() );
+        assertEquals( 4, res.getVertices().size(), "wrong # of vertices in the resulting graph after resolver" );
+        assertEquals( 2, res.getExcidentEdges(v1).size(), "wrong # of excident edges in the resulting graph entry after resolver" );
 
-        assertEquals( "wrong # of v2 incident edges in the resulting graph after resolver", 1, res.getIncidentEdges(v2).size() );
-        assertEquals( "wrong edge v1-v2 in the resulting graph after resolver", "1.2", res.getIncidentEdges(v2).get(0).getVersion() );
+        assertEquals( 1, res.getIncidentEdges(v2).size(), "wrong # of v2 incident edges in the resulting graph after resolver" );
+        assertEquals( "1.2", res.getIncidentEdges(v2).get(0).getVersion(), "wrong edge v1-v2 in the resulting graph after resolver" );
 
-        assertEquals( "wrong # of edges v1-v3 in the resulting graph after resolver", 1, res.getIncidentEdges(v3).size() );
-        assertEquals( "wrong edge v1-v3 in the resulting graph after resolver", "1.1", res.getIncidentEdges(v3).get(0).getVersion() );
+        assertEquals( 1, res.getIncidentEdges(v3).size(), "wrong # of edges v1-v3 in the resulting graph after resolver" );
+        assertEquals( "1.1", res.getIncidentEdges(v3).get(0).getVersion(), "wrong edge v1-v3 in the resulting graph after resolver" );
 
-        assertEquals( "wrong # of edges v3-v4 in the resulting graph after resolver", 1, res.getIncidentEdges(v4).size() );
-        assertEquals( "wrong edge v3-v4 in the resulting graph after resolver", "1.2", res.getIncidentEdges(v4).get(0).getVersion() );
+        assertEquals( 1, res.getIncidentEdges(v4).size(), "wrong # of edges v3-v4 in the resulting graph after resolver" );
+        assertEquals( "1.2", res.getIncidentEdges(v4).get(0).getVersion(), "wrong edge v3-v4 in the resulting graph after resolver" );
     }
     //------------------------------------------------------------------------------------------
 	@Test
@@ -111,21 +110,21 @@ extends PlexusTestCase
 
         res = resolver.resolveConflicts( graph, ArtifactScopeEnum.runtime );
 
-        assertNotNull("null graph after resolver", res );
-        assertNotNull("no vertices in the resulting graph after resolver", res.getVertices() );
-        assertNotNull("no edges in the resulting graph after resolver", res.getExcidentEdges(v1) );
+        assertNotNull( res, "null graph after resolver" );
+        assertNotNull( res.getVertices(), "no vertices in the resulting graph after resolver" );
+        assertNotNull( res.getExcidentEdges(v1), "no edges in the resulting graph after resolver" );
 
-        assertEquals( "wrong # of vertices in the resulting graph after resolver", 4, res.getVertices().size() );
-        assertEquals( "wrong # of excident edges in the resulting graph entry after resolver", 2, res.getExcidentEdges(v1).size() );
+        assertEquals( 4, res.getVertices().size(), "wrong # of vertices in the resulting graph after resolver" );
+        assertEquals( 2, res.getExcidentEdges(v1).size(), "wrong # of excident edges in the resulting graph entry after resolver" );
 
-        assertEquals( "wrong # of v2 incident edges in the resulting graph after resolver", 1, res.getIncidentEdges(v2).size() );
-        assertEquals( "wrong edge v1-v2 in the resulting graph after resolver", "1.2", res.getIncidentEdges(v2).get(0).getVersion() );
+        assertEquals( 1, res.getIncidentEdges(v2).size(), "wrong # of v2 incident edges in the resulting graph after resolver" );
+        assertEquals( "1.2", res.getIncidentEdges(v2).get(0).getVersion(), "wrong edge v1-v2 in the resulting graph after resolver" );
 
-        assertEquals( "wrong # of edges v1-v3 in the resulting graph after resolver", 1, res.getIncidentEdges(v3).size() );
-        assertEquals( "wrong edge v1-v3 in the resulting graph after resolver", "1.1", res.getIncidentEdges(v3).get(0).getVersion() );
+        assertEquals( 1, res.getIncidentEdges(v3).size(), "wrong # of edges v1-v3 in the resulting graph after resolver" );
+        assertEquals( "1.1", res.getIncidentEdges(v3).get(0).getVersion(), "wrong edge v1-v3 in the resulting graph after resolver" );
 
-        assertEquals( "wrong # of edges v3-v4 in the resulting graph after resolver", 1, res.getIncidentEdges(v4).size() );
-        assertEquals( "wrong edge v3-v4 in the resulting graph after resolver", "1.1", res.getIncidentEdges(v4).get(0).getVersion() );
+        assertEquals( 1, res.getIncidentEdges(v4).size(), "wrong # of edges v3-v4 in the resulting graph after resolver" );
+        assertEquals( "1.1", res.getIncidentEdges(v4).get(0).getVersion(), "wrong edge v3-v4 in the resulting graph after resolver" );
     }
     //------------------------------------------------------------------------------------------
 	@Test
@@ -136,21 +135,21 @@ extends PlexusTestCase
 
         res = resolver.resolveConflicts( graph, ArtifactScopeEnum.test );
 
-        assertNotNull("null graph after resolver", res );
-        assertNotNull("no vertices in the resulting graph after resolver", res.getVertices() );
-        assertNotNull("no edges in the resulting graph after resolver", res.getExcidentEdges(v1) );
+        assertNotNull( res, "null graph after resolver" );
+        assertNotNull( res.getVertices(), "no vertices in the resulting graph after resolver" );
+        assertNotNull( res.getExcidentEdges(v1), "no edges in the resulting graph after resolver" );
 
-        assertEquals( "wrong # of vertices in the resulting graph after resolver", 4, res.getVertices().size() );
-        assertEquals( "wrong # of excident edges in the resulting graph entry after resolver", 2, res.getExcidentEdges(v1).size() );
+        assertEquals( 4, res.getVertices().size(), "wrong # of vertices in the resulting graph after resolver" );
+        assertEquals( 2, res.getExcidentEdges(v1).size(), "wrong # of excident edges in the resulting graph entry after resolver" );
 
-        assertEquals( "wrong # of v2 incident edges in the resulting graph after resolver", 1, res.getIncidentEdges(v2).size() );
-        assertEquals( "wrong edge v1-v2 in the resulting graph after resolver", "1.2", res.getIncidentEdges(v2).get(0).getVersion() );
+        assertEquals( 1, res.getIncidentEdges(v2).size(), "wrong # of v2 incident edges in the resulting graph after resolver" );
+        assertEquals( "1.2", res.getIncidentEdges(v2).get(0).getVersion(), "wrong edge v1-v2 in the resulting graph after resolver" );
 
-        assertEquals( "wrong # of edges v1-v3 in the resulting graph after resolver", 1, res.getIncidentEdges(v3).size() );
-        assertEquals( "wrong edge v1-v3 in the resulting graph after resolver", "1.1", res.getIncidentEdges(v3).get(0).getVersion() );
+        assertEquals(  1, res.getIncidentEdges(v3).size(), "wrong # of edges v1-v3 in the resulting graph after resolver" );
+        assertEquals( "1.1", res.getIncidentEdges(v3).get(0).getVersion(), "wrong edge v1-v3 in the resulting graph after resolver" );
 
-        assertEquals( "wrong # of edges v3-v4 in the resulting graph after resolver", 1, res.getIncidentEdges(v4).size() );
-        assertEquals( "wrong edge v3-v4 in the resulting graph after resolver", "1.2", res.getIncidentEdges(v4).get(0).getVersion() );
+        assertEquals( 1, res.getIncidentEdges(v4).size(), "wrong # of edges v3-v4 in the resulting graph after resolver" );
+        assertEquals( "1.2", res.getIncidentEdges(v4).get(0).getVersion(), "wrong edge v3-v4 in the resulting graph after resolver" );
     }
     //------------------------------------------------------------------------------------------
     //------------------------------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
index 7ee91a3..3b5b7a6 100644
--- a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
@@ -22,7 +22,6 @@ package org.apache.maven;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
@@ -47,13 +46,12 @@ import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.apache.maven.test.PlexusTestCase;
 import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.util.FileUtils;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
-import org.junit.Before;
+import org.junit.jupiter.api.BeforeEach;
 
 import javax.inject.Inject;
 
diff --git a/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java b/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
index df8fa1b..3a85ea4 100644
--- a/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
+++ b/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
@@ -29,10 +29,10 @@ import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenExecutionResult;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static java.util.Arrays.asList;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class DefaultMavenTest
     extends AbstractCoreMavenComponentTestCase
diff --git a/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java b/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java
index 6d9262f..13ff67a 100644
--- a/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java
+++ b/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java
@@ -29,10 +29,10 @@ import org.apache.maven.model.Dependency;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.repository.ComponentDescriptor;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 
 public class MavenLifecycleParticipantTest
     extends AbstractCoreMavenComponentTestCase
@@ -131,7 +131,7 @@ public class MavenLifecycleParticipantTest
         request.setGoals( Arrays.asList( "validate" ) );
         MavenExecutionResult result = maven.execute( request );
 
-        assertFalse( result.getExceptions().toString(), result.hasExceptions() );
+        assertFalse( result.hasExceptions(), result.getExceptions().toString() );
 
         MavenProject project = result.getProject();
 
@@ -167,7 +167,7 @@ public class MavenLifecycleParticipantTest
         request.setGoals( Arrays.asList( "validate" ) );
         MavenExecutionResult result = maven.execute( request );
 
-        assertFalse( result.getExceptions().toString(), result.hasExceptions() );
+        assertFalse( result.hasExceptions(), result.getExceptions().toString() );
 
         List<String> order = new ArrayList<>();
         for ( MavenProject project : result.getTopologicallySortedProjects() )
diff --git a/maven-core/src/test/java/org/apache/maven/MavenTest.java b/maven-core/src/test/java/org/apache/maven/MavenTest.java
index 4023f12..991e61d 100644
--- a/maven-core/src/test/java/org/apache/maven/MavenTest.java
+++ b/maven-core/src/test/java/org/apache/maven/MavenTest.java
@@ -17,11 +17,9 @@ package org.apache.maven;
 
 
 import org.apache.maven.exception.ExceptionHandler;
-import org.codehaus.plexus.DefaultPlexusContainer;
+import org.junit.jupiter.api.Test;
 
 import javax.inject.Inject;
-import java.util.Collections;
-import org.junit.Test;
 
 public class MavenTest
     extends AbstractCoreMavenComponentTestCase
diff --git a/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java b/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
index 13fc06f..777bae5 100644
--- a/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
@@ -26,11 +26,11 @@ import org.apache.maven.execution.MavenSession;
 import org.apache.maven.project.MavenProject;
 
 import javax.inject.Inject;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.Matchers.endsWith;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 public class ProjectDependenciesResolverTest
     extends AbstractCoreMavenComponentTestCase
diff --git a/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java b/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
index 5290780..6dba994 100644
--- a/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
@@ -24,9 +24,9 @@ import java.util.List;
 
 import org.apache.maven.test.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class ArtifactHandlerTest
     extends PlexusTestCase
@@ -51,7 +51,7 @@ public class ArtifactHandlerTest
                 int i = 0;
                 for ( String col : cols )
                 {
-                    assertEquals( "Wrong column header", expected[i++], col.trim() );
+                    assertEquals( expected[i++], col.trim(), "Wrong column header" );
                 }
             }
             else if ( line.startsWith( "|" ) )
@@ -67,12 +67,12 @@ public class ArtifactHandlerTest
                 String includesDependencies = trimApt( cols[7] );
 
                 ArtifactHandler handler = lookup( ArtifactHandler.class, type );
-                assertEquals( type + " extension", handler.getExtension(), extension );
-                assertEquals( type + " packaging", handler.getPackaging(), packaging );
-                assertEquals( type + " classifier", handler.getClassifier(), classifier );
-                assertEquals( type + " language", handler.getLanguage(), language );
-                assertEquals( type + " addedToClasspath", handler.isAddedToClasspath() ? "true" : null, addedToClasspath );
-                assertEquals( type + " includesDependencies", handler.isIncludesDependencies() ? "true" : null, includesDependencies );
+                assertEquals( handler.getExtension(), extension, type + " extension" );
+                assertEquals( handler.getPackaging(), packaging, type + " packaging" );
+                assertEquals( handler.getClassifier(), classifier, type + " classifier" );
+                assertEquals( handler.getLanguage(), language, type + " language" );
+                assertEquals( handler.isAddedToClasspath() ? "true" : null, addedToClasspath, type + " addedToClasspath" );
+                assertEquals( handler.isIncludesDependencies() ? "true" : null, includesDependencies, type + " includesDependencies" );
             }
         }
     }
diff --git a/maven-core/src/test/java/org/apache/maven/artifact/resolver/filter/ExclusionArtifactFilterTest.java b/maven-core/src/test/java/org/apache/maven/artifact/resolver/filter/ExclusionArtifactFilterTest.java
index c504c96..76b1654 100644
--- a/maven-core/src/test/java/org/apache/maven/artifact/resolver/filter/ExclusionArtifactFilterTest.java
+++ b/maven-core/src/test/java/org/apache/maven/artifact/resolver/filter/ExclusionArtifactFilterTest.java
@@ -21,14 +21,14 @@ package org.apache.maven.artifact.resolver.filter;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.model.Exclusion;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.BeforeEach;
 
 import java.util.Arrays;
 import java.util.Collections;
 
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -36,7 +36,7 @@ public class ExclusionArtifactFilterTest
 {
     private Artifact artifact;
 
-    @Before
+    @BeforeEach
     public void setup()
     {
         artifact = mock( Artifact.class );
diff --git a/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java b/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java
index 3c532bf..3dd3eff 100644
--- a/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java
@@ -27,11 +27,11 @@ import org.apache.maven.configuration.internal.DefaultBeanConfigurator;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * @author Benjamin Bentmann
@@ -41,14 +41,14 @@ public class DefaultBeanConfiguratorTest
 
     private BeanConfigurator configurator;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
         configurator = new DefaultBeanConfigurator();
     }
 
-    @After
+    @AfterEach
     public void tearDown()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/exception/DefaultExceptionHandlerTest.java b/maven-core/src/test/java/org/apache/maven/exception/DefaultExceptionHandlerTest.java
index 9fe6d4f..48cdb2f 100644
--- a/maven-core/src/test/java/org/apache/maven/exception/DefaultExceptionHandlerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/exception/DefaultExceptionHandlerTest.java
@@ -30,9 +30,9 @@ import org.apache.maven.plugin.PluginContainerException;
 import org.apache.maven.plugin.PluginExecutionException;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * @author <a href="mailto:baerrach@apache.org">Barrie Treloar</a>
diff --git a/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzerTest.java b/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzerTest.java
index 6e03776..df4941c 100644
--- a/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzerTest.java
@@ -22,8 +22,8 @@ package org.apache.maven.execution;
 import org.apache.maven.lifecycle.LifecycleExecutionException;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.project.MavenProject;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import java.util.Optional;
 
@@ -40,7 +40,7 @@ public class DefaultBuildResumptionAnalyzerTest
 
     private MavenExecutionResult executionResult;
 
-    @Before
+    @BeforeEach
     public void before() {
         executionResult = new DefaultMavenExecutionResult();
     }
diff --git a/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionDataRepositoryTest.java b/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionDataRepositoryTest.java
index 697c74f..e1e1fa4 100644
--- a/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionDataRepositoryTest.java
+++ b/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionDataRepositoryTest.java
@@ -21,9 +21,7 @@ package org.apache.maven.execution;
 
 import org.apache.maven.model.Build;
 import org.apache.maven.project.MavenProject;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.junit.jupiter.api.Test;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -34,7 +32,6 @@ import static org.hamcrest.Matchers.contains;
 import static org.hamcrest.Matchers.empty;
 import static org.hamcrest.Matchers.is;
 
-@RunWith( MockitoJUnitRunner.class )
 public class DefaultBuildResumptionDataRepositoryTest
 {
     private final DefaultBuildResumptionDataRepository repository = new DefaultBuildResumptionDataRepository();
diff --git a/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java b/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java
index a746463..e57e791 100644
--- a/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java
@@ -8,8 +8,10 @@ import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.settings.Profile;
 import org.apache.maven.settings.Repository;
 import org.apache.maven.settings.Settings;
-import org.eclipse.sisu.launch.InjectedTestCase;
-import org.junit.Test;
+import org.apache.maven.test.PlexusTestCase;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -31,7 +33,7 @@ import org.junit.Test;
  */
 
 public class DefaultMavenExecutionRequestPopulatorTest
-    extends InjectedTestCase
+    extends PlexusTestCase
 {
     @Inject
     MavenExecutionRequestPopulator testee;
diff --git a/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionTest.java b/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionTest.java
index 237362e..9a363ee 100644
--- a/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionTest.java
@@ -20,14 +20,14 @@ package org.apache.maven.execution;
  */
 import static org.hamcrest.Matchers.empty;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 import java.util.List;
 
 import org.apache.maven.project.MavenProject;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * @author Benjamin Bentmann
diff --git a/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java b/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
index 124703b..0dda050 100644
--- a/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
+++ b/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
@@ -20,11 +20,11 @@ import com.google.inject.Key;
 import org.apache.maven.execution.MojoExecutionEvent;
 import org.apache.maven.execution.scope.WeakMojoExecutionListener;
 import org.apache.maven.plugin.MojoExecutionException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 public class MojoExecutionScopeTest
 {
diff --git a/maven-core/src/test/java/org/apache/maven/graph/DefaultGraphBuilderTest.java b/maven-core/src/test/java/org/apache/maven/graph/DefaultGraphBuilderTest.java
index 6a8320b..d2f29e2 100644
--- a/maven-core/src/test/java/org/apache/maven/graph/DefaultGraphBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/graph/DefaultGraphBuilderTest.java
@@ -37,12 +37,12 @@ import org.apache.maven.project.collector.MultiModuleCollectionStrategy;
 import org.apache.maven.project.collector.PomlessCollectionStrategy;
 import org.apache.maven.project.collector.ProjectsSelector;
 import org.apache.maven.project.collector.RequestPomCollectionStrategy;
+import org.apache.maven.test.Parameter;
+import org.apache.maven.test.Parameterized;
+import org.apache.maven.test.Parameters;
+import org.apache.maven.test.Test;
 import org.codehaus.plexus.util.StringUtils;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.BeforeEach;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -56,15 +56,15 @@ import static java.util.Arrays.asList;
 import static java.util.Collections.emptyList;
 import static java.util.Collections.singletonList;
 import static java.util.function.Function.identity;
-import static junit.framework.TestCase.assertEquals;
 import static org.apache.maven.execution.MavenExecutionRequest.REACTOR_MAKE_DOWNSTREAM;
 import static org.apache.maven.execution.MavenExecutionRequest.REACTOR_MAKE_UPSTREAM;
 import static org.apache.maven.graph.DefaultGraphBuilderTest.ScenarioBuilder.scenario;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-@RunWith( Parameterized.class )
+@Parameterized
 public class DefaultGraphBuilderTest
 {
     /*
@@ -104,13 +104,20 @@ public class DefaultGraphBuilderTest
     private Map<String, MavenProject> artifactIdProjectMap;
 
     // Parameters for the test
-    private final String parameterDescription;
-    private final List<String> parameterSelectedProjects;
-    private final List<String> parameterExcludedProjects;
-    private final String parameterResumeFrom;
-    private final String parameterMakeBehavior;
-    private final List<String> parameterExpectedResult;
-    private final File parameterRequestedPom;
+    @Parameter( 0 )
+    private String parameterDescription;
+    @Parameter( 1 )
+    private List<String> parameterSelectedProjects;
+    @Parameter( 2 )
+    private List<String> parameterExcludedProjects;
+    @Parameter( 3 )
+    private String parameterResumeFrom;
+    @Parameter( 4 )
+    private String parameterMakeBehavior;
+    @Parameter( 5 )
+    private List<String> parameterExpectedResult;
+    @Parameter( 6 )
+    private File parameterRequestedPom;
 
     @Parameters(name = "{index}. {0}")
     public static Collection<Object[]> parameters()
@@ -191,17 +198,6 @@ public class DefaultGraphBuilderTest
         );
     }
 
-    public DefaultGraphBuilderTest( String description, List<String> selectedProjects, List<String> excludedProjects, String resumedFrom, String makeBehavior, List<String> expectedReactorProjects, File requestedPom )
-    {
-        this.parameterDescription = description;
-        this.parameterSelectedProjects = selectedProjects;
-        this.parameterExcludedProjects = excludedProjects;
-        this.parameterResumeFrom = resumedFrom;
-        this.parameterMakeBehavior = makeBehavior;
-        this.parameterExpectedResult = expectedReactorProjects;
-        this.parameterRequestedPom = requestedPom;
-    }
-
     @Test
     public void testGetReactorProjects()
     {
@@ -226,10 +222,10 @@ public class DefaultGraphBuilderTest
         List<MavenProject> expectedReactorProjects = parameterExpectedResult.stream()
                 .map( artifactIdProjectMap::get )
                 .collect( Collectors.toList());
-        assertEquals( parameterDescription, expectedReactorProjects, actualReactorProjects );
+        assertEquals( expectedReactorProjects, actualReactorProjects, parameterDescription );
     }
 
-    @Before
+    @BeforeEach
     public void before() throws Exception
     {
         graphBuilder = new DefaultGraphBuilder(
diff --git a/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java b/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
index 621042c..94737fb 100644
--- a/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
+++ b/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
@@ -22,9 +22,9 @@ import org.apache.maven.model.Dependency;
 import org.apache.maven.project.DuplicateProjectException;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.dag.CycleDetectedException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * @author Kristian Rosenvold
diff --git a/maven-core/src/test/java/org/apache/maven/internal/aether/ConsumerModelSourceTransformerTest.java b/maven-core/src/test/java/org/apache/maven/internal/aether/ConsumerModelSourceTransformerTest.java
index 0f1f634..5050623 100644
--- a/maven-core/src/test/java/org/apache/maven/internal/aether/ConsumerModelSourceTransformerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/internal/aether/ConsumerModelSourceTransformerTest.java
@@ -26,7 +26,7 @@ import java.nio.file.Paths;
 
 import org.apache.maven.model.Model;
 import org.apache.maven.model.building.TransformerContext;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.xmlunit.assertj.XmlAssert;
 
 public class ConsumerModelSourceTransformerTest
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
index c9a2887..2378ddd 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
@@ -24,11 +24,8 @@ import java.util.stream.Collectors;
 import javax.inject.Inject;
 
 import org.apache.maven.test.PlexusTestCase;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.arrayWithSize;
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
index c531d17..84c16ff 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
@@ -25,11 +25,11 @@ import org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator;
 import org.apache.maven.lifecycle.internal.MojoExecutor;
 
 import javax.inject.Inject;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * Just asserts that it's able to create those components. Handy when CDI container gets a nervous breakdown.
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
index 38231c4..448ffda 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
@@ -42,16 +42,16 @@ import org.apache.maven.plugin.MojoNotFoundException;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.hasSize;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import javax.inject.Inject;
 
@@ -320,14 +320,16 @@ public class LifecycleExecutorTest
     {
         File pom = getProject( "project-basic" );
         MavenSession session = createMavenSession( pom );
-        MojoNotFoundException e = assertThrows( "expected a MojoNotFoundException",
+        MojoNotFoundException e = assertThrows(
                 MojoNotFoundException.class,
-                () -> getExecutions( calculateExecutionPlan( session, "resources:" ) ) );
+                () -> getExecutions( calculateExecutionPlan( session, "resources:" ) ),
+                "expected a MojoNotFoundException" );
         assertEquals( "", e.getGoal() );
 
-        e = assertThrows( "expected a MojoNotFoundException",
+        e = assertThrows(
                 MojoNotFoundException.class,
-                () -> getExecutions( calculateExecutionPlan( session, "org.apache.maven.plugins:maven-resources-plugin:0.1:resources:toomany" ) ) );
+                () -> getExecutions( calculateExecutionPlan( session, "org.apache.maven.plugins:maven-resources-plugin:0.1:resources:toomany" ) ),
+                "expected a MojoNotFoundException" );
         assertEquals( "resources:toomany", e.getGoal() );
     }
 
@@ -369,7 +371,7 @@ public class LifecycleExecutorTest
                                                                      Arrays.asList( (Object) task ), false );
 
         MojoExecution execution = executionPlan.getMojoExecutions().get(0);
-        assertEquals(execution.toString(), "maven-it-plugin", execution.getArtifactId());
+        assertEquals( "maven-it-plugin", execution.getArtifactId(), execution.toString() );
         assertNull(execution.getConfiguration());
 
         lifeCycleExecutionPlanCalculator.setupMojoExecution( session, session.getCurrentProject(), execution,
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java
index 0e455e6..e077dc9 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java
@@ -20,11 +20,11 @@ import java.util.Set;
 import org.apache.maven.lifecycle.internal.ExecutionPlanItem;
 import org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub;
 import org.apache.maven.model.Plugin;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 /**
  * @author Kristian Rosenvold
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
index 4a5bd24..6a73160 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
@@ -20,10 +20,10 @@ import java.util.List;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.lifecycle.internal.stub.LifecycleTaskSegmentCalculatorStub;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 public class BuildListCalculatorTest
 {
@@ -38,8 +38,8 @@ public class BuildListCalculatorTest
         List<TaskSegment> taskSegments = lifecycleTaskSegmentCalculator.calculateTaskSegments( session );
         final ProjectBuildList buildList = buildListCalculator.calculateProjectBuilds( session, taskSegments );
         final ProjectBuildList segments = buildList.getByTaskSegment( taskSegments.get( 0 ) );
-        assertEquals( "Stub data contains 3 segments", 3, taskSegments.size() );
-        assertEquals( "Stub data contains 6 items", 6, segments.size() );
+        assertEquals( 3, taskSegments.size(), "Stub data contains 3 segments" );
+        assertEquals( 6, segments.size(), "Stub data contains 6 items" );
         final ProjectSegment build = segments.get( 0 );
         assertNotNull( build );
     }
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java
index baea294..fe0776e 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java
@@ -23,9 +23,9 @@ import org.apache.maven.lifecycle.internal.builder.BuilderCommon;
 import org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
 import org.codehaus.plexus.logging.Logger;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java
index a29e64d..c2971f1 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java
@@ -31,7 +31,7 @@ import org.apache.maven.plugin.PluginResolutionException;
 import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
 import org.apache.maven.plugin.version.PluginVersionResolutionException;
 import org.apache.maven.project.MavenProject;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.A;
 import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.B;
@@ -40,12 +40,12 @@ import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStu
 import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.Y;
 import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.Z;
 import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.getProjectBuildList;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * @author Kristian Rosenvold
  */
 public class ConcurrencyDependencyGraphTest
-    extends junit.framework.TestCase
 {
     @Test
     public void testConcurrencyGraphPrimaryVersion()
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
index 7689515..000dd88 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
@@ -32,10 +32,10 @@ import org.apache.maven.execution.MavenSession;
 import org.apache.maven.project.MavenProject;
 
 import javax.inject.Inject;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class LifecycleDependencyResolverTest extends AbstractCoreMavenComponentTestCase
 {
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java
index 373b98b..28d552a 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java
@@ -23,9 +23,9 @@ import org.apache.maven.lifecycle.internal.stub.DefaultLifecyclesStub;
 import org.apache.maven.lifecycle.internal.stub.PluginPrefixResolverStub;
 import org.apache.maven.lifecycle.internal.stub.PluginVersionResolverStub;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * @author Kristian Rosenvold
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
index 0f431b7..e5a44d6 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
@@ -24,10 +24,10 @@ import java.util.List;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.lifecycle.internal.stub.LifecycleTaskSegmentCalculatorStub;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * @author Kristian Rosenvold
@@ -45,8 +45,8 @@ public class LifecycleTaskSegmentCalculatorImplTest
 
         final ProjectBuildList buildList = buildListCalculator.calculateProjectBuilds( session, taskSegments );
         final ProjectBuildList segments = buildList.getByTaskSegment( taskSegments.get( 0 ) );
-        assertEquals( "Stub data contains 3 segments", 3, taskSegments.size() );
-        assertEquals( "Stub data contains 6 items", 6, segments.size() );
+        assertEquals( 3, taskSegments.size(), "Stub data contains 3 segments" );
+        assertEquals( 6, segments.size(), "Stub data contains 6 items" );
         final ProjectSegment build = segments.get( 0 );
         assertNotNull( build );
     }
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java
index 5c1251c..1d0211f 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java
@@ -21,10 +21,10 @@ import org.apache.maven.lifecycle.MavenExecutionPlan;
 import org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
 import org.apache.maven.plugin.MojoExecution;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * @author Kristian Rosenvold
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java
index 3e3f892..106c311 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java
@@ -17,12 +17,12 @@ package org.apache.maven.lifecycle.internal;
 
 import static org.hamcrest.Matchers.greaterThanOrEqualTo;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * @author Kristian Rosenvold
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java
index 5f69410..acad888 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java
@@ -21,9 +21,9 @@ import org.apache.maven.execution.ProjectDependencyGraph;
 import org.apache.maven.lifecycle.internal.ProjectBuildList;
 import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
 import org.apache.maven.project.MavenProject;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class ConcurrencyDependencyGraphTest {
 
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java
index 197ff6b..549e90b 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java
@@ -41,9 +41,9 @@ import org.apache.maven.plugin.PluginNotFoundException;
 import org.apache.maven.plugin.PluginResolutionException;
 import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
 import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * @author Kristian Rosenvold
@@ -125,7 +125,7 @@ public class ThreadOutputMuxerTest
         threadOutputMuxer.close();
         final byte[] bytes = byteArrayOutputStream.toByteArray();
         String result = new String( bytes );
-        assertEquals( result, expectedLength, bytes.length );
+        assertEquals( expectedLength, bytes.length, result );
 
 
     }
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java
index ddc20ec..cd2d327 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java
@@ -18,10 +18,10 @@ package org.apache.maven.lifecycle.internal.stub;
 import java.util.List;
 
 import org.apache.maven.project.MavenProject;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests the stub. Yeah, I know.
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/mapping/LifecyclePhaseTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/mapping/LifecyclePhaseTest.java
index f60eace..677915f 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/mapping/LifecyclePhaseTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/mapping/LifecyclePhaseTest.java
@@ -15,13 +15,13 @@ package org.apache.maven.lifecycle.mapping;
  * the License.
  */
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 import java.util.Arrays;
 import java.util.List;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * @author atanasenko
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
index 524979d..954e221 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
@@ -32,13 +32,13 @@ import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.classworlds.realm.ClassRealm;
 import org.codehaus.plexus.component.repository.ComponentDescriptor;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import javax.inject.Inject;
 
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java
index 14961d1..d270293 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java
@@ -24,9 +24,9 @@ import java.util.Collections;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.plugin.descriptor.Parameter;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * MNG-3131
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
index 490d915..9c0da4f 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
@@ -46,14 +46,14 @@ import org.codehaus.plexus.MutablePlexusContainer;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
 import org.codehaus.plexus.util.dag.CycleDetectedException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import javax.inject.Inject;
 
@@ -80,9 +80,9 @@ public class PluginParameterExpressionEvaluatorTest
 
         System.out.println( "Result: " + result );
 
-        assertSame( "${plugin} expression does not return plugin descriptor.",
-                    exec.getMojoDescriptor().getPluginDescriptor(),
-                    result );
+        assertSame( exec.getMojoDescriptor().getPluginDescriptor(),
+                    result,
+                    "${plugin} expression does not return plugin descriptor." );
     }
 
     @Test
@@ -108,7 +108,7 @@ public class PluginParameterExpressionEvaluatorTest
 
         assertNotNull( depResults );
         assertEquals( 1, depResults.size() );
-        assertSame( "dependency artifact is wrong.", depArtifact, depResults.get( 0 ) );
+        assertSame( depArtifact, depResults.get( 0 ), "dependency artifact is wrong." );
     }
 
     @Test
@@ -134,9 +134,9 @@ public class PluginParameterExpressionEvaluatorTest
 
         assertNotNull( depResults );
         assertEquals( 1, depResults.size() );
-        assertSame( "dependency artifact is wrong.",
-                    depArtifact,
-                    depResults.get( ArtifactUtils.versionlessKey( depArtifact ) ) );
+        assertSame( depArtifact,
+                    depResults.get( ArtifactUtils.versionlessKey( depArtifact ) ),
+                    "dependency artifact is wrong." );
     }
 
     @Test
@@ -151,9 +151,9 @@ public class PluginParameterExpressionEvaluatorTest
 
         System.out.println( "Result: " + result );
 
-        assertSame( "${plugin.artifactId} expression does not return plugin descriptor's artifactId.",
-                    exec.getMojoDescriptor().getPluginDescriptor().getArtifactId(),
-                    result );
+        assertSame( exec.getMojoDescriptor().getPluginDescriptor().getArtifactId(),
+                    result,
+                    "${plugin.artifactId} expression does not return plugin descriptor's artifactId." );
     }
 
     @Test
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java b/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
index 70faa44..4cf01cf 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
@@ -23,9 +23,9 @@ import java.util.concurrent.CountDownLatch;
 import org.apache.maven.execution.DefaultMavenExecutionRequest;
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenSession;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 /**
  * @author Kristian Rosenvold
diff --git a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
index b2c1bd0..8b0cec0 100644
--- a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -21,20 +21,16 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.Arrays;
-import java.util.Collections;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.model.building.ModelBuildingException;
 import org.apache.maven.model.building.ModelProblem;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
 import org.apache.maven.test.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 
 import javax.inject.Inject;
 
@@ -49,7 +45,7 @@ public abstract class AbstractMavenProjectTestCase
     @Inject
     protected RepositorySystem repositorySystem;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
@@ -66,15 +62,6 @@ public abstract class AbstractMavenProjectTestCase
         }
     }
 
-    @After
-    public void tearDown()
-        throws Exception
-    {
-        projectBuilder = null;
-
-        super.tearDown();
-    }
-
     protected ProjectBuilder getProjectBuilder()
     {
         return projectBuilder;
diff --git a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
index dac8489..d73b488 100644
--- a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
@@ -26,16 +26,18 @@ import java.util.List;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.codehaus.plexus.util.FileUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsString;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.fail;
 
 public class DefaultMavenProjectBuilderTest
     extends AbstractMavenProjectTestCase
@@ -46,6 +48,7 @@ public class DefaultMavenProjectBuilderTest
     private File localRepoDir;
 
     @Override
+    @BeforeEach
     public void setUp()
         throws Exception
     {
@@ -60,6 +63,7 @@ public class DefaultMavenProjectBuilderTest
     }
 
     @Override
+    @AfterEach
     public void tearDown()
         throws Exception
     {
@@ -129,9 +133,10 @@ public class DefaultMavenProjectBuilderTest
     {
         File f1 = getTestFile( "src/test/resources/projects/future-model-version-pom.xml" );
 
-        ProjectBuildingException e = assertThrows( "Expected to fail for future versions",
+        ProjectBuildingException e = assertThrows(
                 ProjectBuildingException.class,
-                () -> getProject( f1 ) );
+                () -> getProject( f1 ),
+                "Expected to fail for future versions" );
         assertContains( "Building this project requires a newer version of Maven", e.getMessage() );
     }
 
@@ -143,9 +148,10 @@ public class DefaultMavenProjectBuilderTest
         // update the resource if we stop supporting modelVersion 4.0.0
         File f1 = getTestFile( "src/test/resources/projects/past-model-version-pom.xml" );
 
-        ProjectBuildingException e = assertThrows( "Expected to fail for past versions",
+        ProjectBuildingException e = assertThrows(
                 ProjectBuildingException.class,
-                () -> getProject( f1 ) );
+                () -> getProject( f1 ),
+                "Expected to fail for past versions" );
         assertContains( "Building this project requires an older version of Maven", e.getMessage() );
     }
 
@@ -155,9 +161,10 @@ public class DefaultMavenProjectBuilderTest
     {
         File f1 = getTestFile( "src/test/resources/projects/future-schema-model-version-pom.xml" );
 
-        ProjectBuildingException e = assertThrows( "Expected to fail for future versions",
+        ProjectBuildingException e = assertThrows(
                 ProjectBuildingException.class,
-                () -> getProject( f1 ) );
+                () -> getProject( f1 ),
+                "Expected to fail for future versions" );
         assertContains( "Building this project requires a newer version of Maven", e.getMessage() );
     }
 
@@ -218,9 +225,10 @@ public class DefaultMavenProjectBuilderTest
         ProjectBuildingRequest request = newBuildingRequest();
         request.setProcessPlugins( false );
         request.setResolveDependencies( true );
-        ProjectBuildingException e = assertThrows( "Project building did not fail despite invalid POM",
+        ProjectBuildingException e = assertThrows(
                 ProjectBuildingException.class,
-                () -> projectBuilder.build( pomFile, request ) );
+                () -> projectBuilder.build( pomFile, request ),
+                "Project building did not fail despite invalid POM" );
         List<ProjectBuildingResult> results = e.getResults();
         assertNotNull( results );
         assertEquals( 1, results.size() );
@@ -263,9 +271,10 @@ public class DefaultMavenProjectBuilderTest
         File f1 =
             getTestFile( "src/test/resources/projects/parent-version-range-local-child-without-version/child/pom.xml" );
 
-        ProjectBuildingException e = assertThrows( "Expected 'ProjectBuildingException' not thrown.",
+        ProjectBuildingException e = assertThrows(
                 ProjectBuildingException.class,
-                () -> getProject( f1 ) );
+                () -> getProject( f1 ),
+                "Expected 'ProjectBuildingException' not thrown." );
         assertNotNull( e.getMessage() );
         assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
     }
@@ -282,9 +291,10 @@ public class DefaultMavenProjectBuilderTest
             getTestFile(
                 "src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml" );
 
-        ProjectBuildingException e = assertThrows( "Expected 'ProjectBuildingException' not thrown.",
+        ProjectBuildingException e = assertThrows(
                 ProjectBuildingException.class,
-                () -> getProject( f1 ) );
+                () -> getProject( f1 ),
+                "Expected 'ProjectBuildingException' not thrown." );
         assertNotNull( e.getMessage() );
         assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
     }
@@ -321,9 +331,10 @@ public class DefaultMavenProjectBuilderTest
             getTestFile(
                 "src/test/resources/projects/parent-version-range-external-child-without-version/pom.xml" );
 
-        ProjectBuildingException e = assertThrows( "Expected 'ProjectBuildingException' not thrown.",
+        ProjectBuildingException e = assertThrows(
                 ProjectBuildingException.class,
-                () -> getProjectFromRemoteRepository( f1 ) );
+                () -> getProjectFromRemoteRepository( f1 ),
+                "Expected 'ProjectBuildingException' not thrown." );
         assertNotNull( e.getMessage() );
         assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
     }
@@ -340,9 +351,10 @@ public class DefaultMavenProjectBuilderTest
             getTestFile(
                 "src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml" );
 
-        ProjectBuildingException e = assertThrows( "Expected 'ProjectBuildingException' not thrown.",
+        ProjectBuildingException e = assertThrows(
                 ProjectBuildingException.class,
-                () -> getProjectFromRemoteRepository( f1 ) );
+                () -> getProjectFromRemoteRepository( f1 ),
+                "Expected 'ProjectBuildingException' not thrown." );
         assertNotNull( e.getMessage() );
         assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
     }
diff --git a/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java
index 1d52b41..150eb6a 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java
@@ -24,15 +24,15 @@ import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.Matchers.empty;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 /**
  * Tests {@link ExtensionDescriptorBuilder}.
@@ -44,14 +44,14 @@ public class ExtensionDescriptorBuilderTest
 
     private ExtensionDescriptorBuilder builder;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
         builder = new ExtensionDescriptorBuilder();
     }
 
-    @After
+    @AfterEach
     public void tearDown()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java b/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
index 7847093..d2cba20 100644
--- a/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
@@ -28,13 +28,13 @@ import org.apache.maven.model.DependencyManagement;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Parent;
 import org.apache.maven.model.Profile;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class MavenProjectTest
     extends AbstractMavenProjectTestCase
@@ -83,9 +83,9 @@ public class MavenProjectTest
 
         MavenProject project = new MavenProject( model );
 
-        assertEquals( "groupId proto-inheritance failed.", "test-group", project.getGroupId() );
-        assertEquals( "artifactId is masked.", "real-artifact", project.getArtifactId() );
-        assertEquals( "version proto-inheritance failed.", "1000", project.getVersion() );
+        assertEquals( "test-group", project.getGroupId(), "groupId proto-inheritance failed." );
+        assertEquals( "real-artifact", project.getArtifactId(), "artifactId is masked." );
+        assertEquals( "1000", project.getVersion(), "version proto-inheritance failed." );
 
         // draw the NPE.
         project.getId();
@@ -110,8 +110,8 @@ public class MavenProjectTest
         MavenProject clonedProject = projectToClone.clone();
         assertEquals( "maven-core", clonedProject.getArtifactId() );
         Map<?, ?> clonedMap = clonedProject.getManagedVersionMap();
-        assertNotNull( "ManagedVersionMap not copied", clonedMap );
-        assertTrue( "ManagedVersionMap is not empty", clonedMap.isEmpty() );
+        assertNotNull( clonedMap, "ManagedVersionMap not copied" );
+        assertTrue( clonedMap.isEmpty(), "ManagedVersionMap is not empty" );
     }
 
     @Test
@@ -121,22 +121,21 @@ public class MavenProjectTest
         File f = getFileForClasspathResource( "dependencyManagement-pom.xml" );
         MavenProject projectToClone = getProjectWithDependencies( f );
         DependencyManagement dep = projectToClone.getDependencyManagement();
-        assertNotNull( "No dependencyManagement", dep );
+        assertNotNull( dep, "No dependencyManagement" );
         List<?> list = dep.getDependencies();
-        assertNotNull( "No dependencies", list );
-        assertTrue( "Empty dependency list", !list.isEmpty() );
+        assertNotNull( list, "No dependencies" );
+        assertTrue( !list.isEmpty(), "Empty dependency list" );
 
         Map<?, ?> map = projectToClone.getManagedVersionMap();
-        assertNotNull( "No ManagedVersionMap", map );
-        assertTrue( "ManagedVersionMap is empty", !map.isEmpty() );
+        assertNotNull( map, "No ManagedVersionMap" );
+        assertTrue( !map.isEmpty(), "ManagedVersionMap is empty" );
 
         MavenProject clonedProject = projectToClone.clone();
         assertEquals( "maven-core", clonedProject.getArtifactId() );
         Map<?, ?> clonedMap = clonedProject.getManagedVersionMap();
-        assertNotNull( "ManagedVersionMap not copied", clonedMap );
-        assertTrue( "ManagedVersionMap is empty", !clonedMap.isEmpty() );
-        assertTrue( "ManagedVersionMap does not contain test key",
-                    clonedMap.containsKey( "maven-test:maven-test-b:jar" ) );
+        assertNotNull( clonedMap, "ManagedVersionMap not copied" );
+        assertTrue( !clonedMap.isEmpty(), "ManagedVersionMap is empty" );
+        assertTrue( clonedMap.containsKey( "maven-test:maven-test-b:jar" ), "ManagedVersionMap does not contain test key" );
     }
 
     @Test
@@ -168,7 +167,7 @@ public class MavenProjectTest
         MavenProject projectToClone = getProject( f );
 
         MavenProject clonedProject = projectToClone.clone();
-        assertNotNull( "clonedProject - distributionManagement", clonedProject.getDistributionManagementArtifactRepository() );
+        assertNotNull( clonedProject.getDistributionManagementArtifactRepository(), "clonedProject - distributionManagement" );
     }
 
     @Test
@@ -180,16 +179,16 @@ public class MavenProjectTest
         MavenProject projectToClone = getProject( f );
         List<Profile> activeProfilesOrig = projectToClone.getActiveProfiles();
 
-        assertEquals( "Expecting 1 active profile", 1, activeProfilesOrig.size() );
+        assertEquals( 1, activeProfilesOrig.size(), "Expecting 1 active profile" );
 
         MavenProject clonedProject = projectToClone.clone();
 
         List<Profile> activeProfilesClone = clonedProject.getActiveProfiles();
 
-        assertEquals( "Expecting 1 active profile", 1, activeProfilesClone.size() );
+        assertEquals( 1, activeProfilesClone.size(), "Expecting 1 active profile" );
 
-        assertNotSame( "The list of active profiles should have been cloned too but is same", activeProfilesOrig,
-                       activeProfilesClone );
+        assertNotSame( activeProfilesOrig, activeProfilesClone,
+                      "The list of active profiles should have been cloned too but is same" );
     }
 
     @Test
@@ -200,8 +199,8 @@ public class MavenProjectTest
         MavenProject projectToClone = getProject( f );
         projectToClone.setPomFile( new File( new File( f.getParentFile(), "target" ), "flattened.xml" ) );
         MavenProject clonedProject = projectToClone.clone();
-        assertEquals( "POM file is preserved across clone", projectToClone.getFile(), clonedProject.getFile() );
-        assertEquals( "Base directory is preserved across clone", projectToClone.getBasedir(), clonedProject.getBasedir() );
+        assertEquals( projectToClone.getFile(), clonedProject.getFile(), "POM file is preserved across clone" );
+        assertEquals( projectToClone.getBasedir(), clonedProject.getBasedir(), "Base directory is preserved across clone" );
     }
 
     @Test
diff --git a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
index 09b5be5..6a53907 100644
--- a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
@@ -22,7 +22,6 @@ package org.apache.maven.project;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
@@ -37,26 +36,23 @@ import org.apache.maven.model.building.ModelBuildingRequest;
 import org.apache.maven.project.harness.PomTestWrapper;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.endsWith;
 import static org.hamcrest.Matchers.lessThan;
 import static org.hamcrest.Matchers.startsWith;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 public class PomConstructionTest
     extends PlexusTestCase
@@ -75,7 +71,7 @@ public class PomConstructionTest
 
     private File testDirectory;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
@@ -84,7 +80,7 @@ public class PomConstructionTest
         new File( getBasedir(), BASE_MIXIN_DIR );
     }
 
-    @After
+    @AfterEach
     public void tearDown()
         throws Exception
     {
@@ -1672,9 +1668,10 @@ public class PomConstructionTest
     public void testValidationErrorUponNonUniqueArtifactRepositoryId()
         throws Exception
     {
-        assertThrows( "Non-unique repository ids did not cause validation error",
+        assertThrows(
                 ProjectBuildingException.class,
-                () -> buildPom( "unique-repo-id/artifact-repo" ) );
+                () -> buildPom( "unique-repo-id/artifact-repo" ),
+                "Non-unique repository ids did not cause validation error" );
     }
 
     /* MNG-4193 */
@@ -1682,9 +1679,10 @@ public class PomConstructionTest
     public void testValidationErrorUponNonUniquePluginRepositoryId()
         throws Exception
     {
-        assertThrows( "Non-unique repository ids did not cause validation error",
+        assertThrows(
                 ProjectBuildingException.class,
-                () -> buildPom( "unique-repo-id/plugin-repo" ) );
+                () -> buildPom( "unique-repo-id/plugin-repo" ),
+                "Non-unique repository ids did not cause validation error" );
     }
 
     /* MNG-4193 */
@@ -1692,9 +1690,10 @@ public class PomConstructionTest
     public void testValidationErrorUponNonUniqueArtifactRepositoryIdInProfile()
         throws Exception
     {
-        assertThrows( "Non-unique repository ids did not cause validation error",
+        assertThrows(
                 ProjectBuildingException.class,
-                () -> buildPom( "unique-repo-id/artifact-repo-in-profile" ) );
+                () -> buildPom( "unique-repo-id/artifact-repo-in-profile" ),
+                "Non-unique repository ids did not cause validation error" );
     }
 
     /* MNG-4193 */
@@ -1702,9 +1701,10 @@ public class PomConstructionTest
     public void testValidationErrorUponNonUniquePluginRepositoryIdInProfile()
         throws Exception
     {
-        assertThrows( "Non-unique repository ids did not cause validation error",
+        assertThrows(
                 ProjectBuildingException.class,
-                () -> buildPom( "unique-repo-id/plugin-repo-in-profile" ) );
+                () -> buildPom( "unique-repo-id/plugin-repo-in-profile" ),
+                "Non-unique repository ids did not cause validation error" );
     }
 
     /** MNG-3843 */
@@ -1783,9 +1783,10 @@ public class PomConstructionTest
     public void testParentPomPackagingMustBePom()
         throws Exception
     {
-        assertThrows( "Wrong packaging of parent POM was not rejected",
+        assertThrows(
                 ProjectBuildingException.class,
-                () -> buildPom( "parent-pom-packaging/sub" ) );
+                () -> buildPom( "parent-pom-packaging/sub" ),
+                "Wrong packaging of parent POM was not rejected" );
     }
 
     /** MNG-522, MNG-3018 */
@@ -1839,7 +1840,7 @@ public class PomConstructionTest
                 customPlugin = i;
             }
         }
-        assertEquals( plugins.toString(), customPlugin, resourcesPlugin - 1 );
+        assertEquals( customPlugin, resourcesPlugin - 1, plugins.toString() );
     }
 
     /** MNG-4415 */
@@ -1906,9 +1907,10 @@ public class PomConstructionTest
     public void testProjectArtifactIdIsNotInheritedButMandatory()
         throws Exception
     {
-        assertThrows( "Missing artifactId did not cause validation error",
+        assertThrows(
                 ProjectBuildingException.class,
-                () -> buildPom( "artifact-id-inheritance/child" ) );
+                () -> buildPom( "artifact-id-inheritance/child" ),
+                "Missing artifactId did not cause validation error" );
     }
 
     private void assertPathSuffixEquals( String expected, Object actual )
diff --git a/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
index 025f196..506a844 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
@@ -34,7 +34,7 @@ import org.apache.maven.model.building.FileModelSource;
 import org.apache.maven.model.building.ModelBuildingRequest;
 import org.apache.maven.model.building.ModelSource;
 import org.apache.maven.shared.utils.io.FileUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsString;
@@ -42,10 +42,10 @@ import static org.hamcrest.Matchers.empty;
 import static org.hamcrest.Matchers.greaterThan;
 import static org.hamcrest.Matchers.hasKey;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 
 public class ProjectBuilderTest
diff --git a/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java b/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
index 85d8a47..4c1dcf4 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
@@ -33,13 +33,13 @@ import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.RepositorySystem;
 import org.eclipse.aether.impl.RemoteRepositoryManager;
 import org.eclipse.aether.repository.RemoteRepository;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.Matchers.startsWith;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 /**
  * Test cases for the project {@code ModelResolver} implementation.
@@ -66,9 +66,10 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         parent.setArtifactId( "apache" );
         parent.setVersion( "0" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( parent ) );
+                () -> newModelResolver().resolveModel( parent ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertNotNull( e.getMessage() );
         assertThat( e.getMessage(), startsWith( "Could not find artifact org.apache:apache:pom:0 in central" ) );
     }
@@ -81,9 +82,10 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         parent.setArtifactId( "apache" );
         parent.setVersion( "[2.0,2.1)" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( parent ) );
+                () -> newModelResolver().resolveModel( parent ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertEquals( "No versions matched the requested parent version range '[2.0,2.1)'",
                       e.getMessage() );
     }
@@ -96,9 +98,10 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         parent.setArtifactId( "apache" );
         parent.setVersion( "[1,)" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( parent ) );
+                () -> newModelResolver().resolveModel( parent ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertEquals( "The requested parent version range '[1,)' does not specify an upper bound",
                       e.getMessage() );
     }
@@ -135,9 +138,10 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         dependency.setArtifactId( "apache" );
         dependency.setVersion( "0" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( dependency ) );
+                () -> newModelResolver().resolveModel( dependency ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertNotNull( e.getMessage() );
         assertThat( e.getMessage(), startsWith( "Could not find artifact org.apache:apache:pom:0 in central" ) );
     }
@@ -150,9 +154,10 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         dependency.setArtifactId( "apache" );
         dependency.setVersion( "[2.0,2.1)" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( dependency ) );
+                () -> newModelResolver().resolveModel( dependency ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertEquals( "No versions matched the requested dependency version range '[2.0,2.1)'",
                       e.getMessage() );
     }
@@ -165,9 +170,10 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         dependency.setArtifactId( "apache" );
         dependency.setVersion( "[1,)" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( dependency ) );
+                () -> newModelResolver().resolveModel( dependency ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertEquals( "The requested dependency version range '[1,)' does not specify an upper bound",
                       e.getMessage() );
     }
diff --git a/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java b/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java
index 1ca124f..ec15951 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java
@@ -20,8 +20,9 @@ package org.apache.maven.project;
  */
 
 import static org.hamcrest.Matchers.hasItem;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -34,9 +35,7 @@ import org.apache.maven.model.Model;
 import org.apache.maven.model.Parent;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginManagement;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test sorting projects by dependencies.
@@ -45,9 +44,6 @@ import org.junit.rules.ExpectedException;
  */
 public class ProjectSorterTest
 {
-    @Rule
-    public ExpectedException expectedException = ExpectedException.none();
-
     private Parent createParent( MavenProject project )
     {
         return createParent( project.getGroupId(), project.getArtifactId(), project.getVersion() );
@@ -210,10 +206,10 @@ public class ProjectSorterTest
         MavenProject project2 = createProject( "groupId", "artifactId", "1.0" );
         projects.add( project2 );
 
-        expectedException.expect( DuplicateProjectException.class );
-        expectedException.reportMissingExceptionWithMessage( "Duplicate projects should fail" );
-
-        new ProjectSorter( projects ).getSortedProjects();
+        assertThrows(
+                DuplicateProjectException.class,
+                () -> new ProjectSorter( projects ).getSortedProjects(),
+                "Duplicate projects should fail" );
     }
 
     @Test
diff --git a/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java b/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
index e6d8710..2d5c1ba 100644
--- a/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
@@ -29,12 +29,12 @@ import org.apache.maven.project.artifact.DefaultMavenMetadataCache.CacheKey;
 import org.apache.maven.repository.DelegatingLocalArtifactRepository;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.TestRepositorySystem;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.BeforeEach;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
 
 /**
  * @author Igor Fedorenko
@@ -43,14 +43,14 @@ public class DefaultMavenMetadataCacheTest
 {
     private RepositorySystem repositorySystem;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
         repositorySystem = new TestRepositorySystem( null, null );
     }
 
-    @After
+    @AfterEach
     public void tearDown()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCacheTest.java b/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCacheTest.java
index d02da76..16317ff 100644
--- a/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCacheTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCacheTest.java
@@ -24,16 +24,16 @@ import java.util.Set;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DefaultArtifact;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 public class DefaultProjectArtifactsCacheTest
 {
 
     private ProjectArtifactsCache cache;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
index 1b92442..a69af5e 100644
--- a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
@@ -21,16 +21,14 @@ package org.apache.maven.project.artifact;
 
 import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.repository.RepositorySystem;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 import javax.inject.Inject;
-import java.util.Collections;
 
-@Ignore
+@Disabled
 public class MavenMetadataSourceTest
     extends PlexusTestCase
 {
@@ -112,12 +110,12 @@ public class MavenMetadataSourceTest
 
         Map artifactMap = project.getArtifactMap();
 
-        assertNotNull( "artifact-map should not be null.", artifactMap );
+        assertNotNull( artifactMap, "artifact-map should not be null." );
         assertEquals( "artifact-map should contain 1 element.", 1, artifactMap.size() );
 
         Artifact artifact = (Artifact) artifactMap.get( key );
 
-        assertNotNull( "dependency artifact not found in map.", artifact );
+        assertNotNull( artifact, "dependency artifact not found in map." );
         assertEquals( "dependency artifact has wrong scope.", Artifact.SCOPE_COMPILE, artifact.getScope() );
 
         //check for back-propagation of default scope.
@@ -164,12 +162,12 @@ public class MavenMetadataSourceTest
 
         Map artifactMap = project.getArtifactMap();
 
-        assertNotNull( "artifact-map should not be null.", artifactMap );
+        assertNotNull( artifactMap, "artifact-map should not be null." );
         assertEquals( "artifact-map should contain 1 element.", 1, artifactMap.size() );
 
         Artifact artifact = (Artifact) artifactMap.get( key );
 
-        assertNotNull( "dependency artifact not found in map.", artifact );
+        assertNotNull( artifact, "dependency artifact not found in map." );
         assertEquals( "dependency artifact has wrong scope.", Artifact.SCOPE_TEST, artifact.getScope() );
 
         //check for back-propagation of default scope.
diff --git a/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java
index f0c07b3..f966237 100644
--- a/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java
@@ -27,10 +27,10 @@ import org.apache.maven.model.PluginExecution;
 import org.apache.maven.project.AbstractMavenProjectTestCase;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * @author Jason van Zyl
diff --git a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
index c86af5c..4648737 100644
--- a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
+++ b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
@@ -21,19 +21,17 @@ package org.apache.maven.rtinfo.internal;
 
 import org.apache.maven.rtinfo.RuntimeInformation;
 import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.apache.maven.test.PlexusTestCase;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import javax.inject.Inject;
-import java.util.Collections;
 
 public class DefaultRuntimeInformationTest
     extends PlexusTestCase
@@ -67,17 +65,20 @@ public class DefaultRuntimeInformationTest
         assertTrue( rtInfo.isMavenVersion( "[2.0.11,2.1.0),[3.0,)" ) );
         assertFalse( rtInfo.isMavenVersion( "[9.0,)" ) );
 
-        assertThrows( "Bad version range wasn't rejected",
+        assertThrows(
                 IllegalArgumentException.class,
-                () -> rtInfo.isMavenVersion( "[3.0," ) );
+                () -> rtInfo.isMavenVersion( "[3.0," ),
+                "Bad version range wasn't rejected" );
 
-        assertThrows( "Bad version range wasn't rejected",
+        assertThrows(
                 IllegalArgumentException.class,
-                () -> rtInfo.isMavenVersion( "" ) );
+                () -> rtInfo.isMavenVersion( "" ),
+                "Bad version range wasn't rejected" );
 
-        assertThrows( "Bad version range wasn't rejected",
+        assertThrows(
                 NullPointerException.class,
-                () -> rtInfo.isMavenVersion( null ) );
+                () -> rtInfo.isMavenVersion( null ),
+                "Bad version range wasn't rejected" );
     }
 
 }
diff --git a/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java b/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
index 82fbf93..b9c9734 100644
--- a/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
+++ b/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
@@ -32,23 +32,18 @@ import org.apache.maven.project.harness.PomTestWrapper;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
 import org.apache.maven.test.PlexusTestCase;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import javax.inject.Inject;
 
-import java.util.Collections;
-
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class PomConstructionWithSettingsTest
     extends PlexusTestCase
@@ -65,7 +60,7 @@ public class PomConstructionWithSettingsTest
 
     private File testDirectory;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java b/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java
index 4431a75..6943c34 100644
--- a/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java
+++ b/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java
@@ -24,10 +24,10 @@ import java.util.List;
 import java.util.Properties;
 import java.util.Random;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 public class SettingsUtilsTest
 {
diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java
index 896b59c..523645f 100644
--- a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java
+++ b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java
@@ -19,7 +19,7 @@ package org.apache.maven.toolchain;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
@@ -36,8 +36,8 @@ import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.toolchain.model.ToolchainModel;
 import org.codehaus.plexus.logging.Logger;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
@@ -57,7 +57,7 @@ public class DefaultToolchainManagerPrivateTest
     @Mock
     private ToolchainFactory toolchainFactory_rareType;
 
-    @Before
+    @BeforeEach
     public void setUp()
     {
         toolchainManager = new DefaultToolchainManagerPrivate();
diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java
index 84444c0..c5b808f 100644
--- a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java
@@ -19,7 +19,7 @@ package org.apache.maven.toolchain;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Matchers.isA;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -36,8 +36,8 @@ import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.toolchain.model.ToolchainModel;
 import org.codehaus.plexus.logging.Logger;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentMatchers;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
@@ -58,7 +58,7 @@ public class DefaultToolchainManagerTest
     @Mock
     private ToolchainFactory toolchainFactory_rareType;
 
-    @Before
+    @BeforeEach
     public void onSetup() throws Exception
     {
         toolchainManager = new DefaultToolchainManager();
diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java
index 3b75455..a5d14b2 100644
--- a/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java
+++ b/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java
@@ -19,9 +19,9 @@ package org.apache.maven.toolchain;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.mockito.Mockito.verify;
 
 import java.io.InputStream;
@@ -32,8 +32,8 @@ import org.apache.maven.toolchain.model.PersistedToolchains;
 import org.apache.maven.toolchain.model.ToolchainModel;
 import org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader;
 import org.codehaus.plexus.logging.Logger;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
@@ -44,7 +44,7 @@ public class DefaultToolchainTest
 
     private MavenToolchainsXpp3Reader reader = new MavenToolchainsXpp3Reader();
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java
index 8da23be..6c167b1 100644
--- a/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java
+++ b/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java
@@ -19,11 +19,11 @@
 
 package org.apache.maven.toolchain;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  *
diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java
index f04d248..94c15b8 100644
--- a/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java
@@ -27,8 +27,8 @@ import org.apache.maven.toolchain.model.PersistedToolchains;
 import org.apache.maven.toolchain.model.ToolchainModel;
 import org.codehaus.plexus.interpolation.os.OperatingSystemUtils;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.BeforeEach;
 import org.mockito.ArgumentMatchers;
 import org.mockito.InjectMocks;
 import org.mockito.MockitoAnnotations;
@@ -39,8 +39,8 @@ import java.io.InputStream;
 import java.util.HashMap;
 import java.util.Map;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
@@ -58,7 +58,7 @@ public class DefaultToolchainsBuilderTest
     @InjectMocks
     private DefaultToolchainsBuilder toolchainBuilder;
 
-    @Before
+    @BeforeEach
     public void onSetup()
     {
         MockitoAnnotations.initMocks( this );
diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/building/ToolchainsBuildingExceptionTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/building/ToolchainsBuildingExceptionTest.java
index 0efda4d..8189268 100644
--- a/maven-core/src/test/java/org/apache/maven/toolchain/building/ToolchainsBuildingExceptionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/toolchain/building/ToolchainsBuildingExceptionTest.java
@@ -19,14 +19,14 @@ package org.apache.maven.toolchain.building;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.Collections;
 
 import org.apache.maven.building.Problem;
 import org.apache.maven.building.ProblemCollector;
 import org.apache.maven.building.ProblemCollectorFactory;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class ToolchainsBuildingExceptionTest
 {
diff --git a/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java b/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java
index 5ad762a..7bed9a9 100644
--- a/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java
@@ -24,11 +24,11 @@ import org.apache.maven.toolchain.model.ToolchainModel;
 import org.apache.maven.toolchain.model.TrackableBase;
 import org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.InputStream;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class MavenToolchainMergerTest
 {
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java
index 14e6bac..bc945fd 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java
@@ -29,7 +29,7 @@ import java.util.List;
 
 import org.apache.commons.cli.Option;
 import org.codehaus.plexus.util.FileUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Pseudo test to generate documentation fragment about supported CLI options. TODO such documentation generation code
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerTest.java
index dbb3879..a3aad6b 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerTest.java
@@ -20,18 +20,18 @@ package org.apache.maven.cli;
  */
 
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.commons.cli.CommandLine;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 public class CLIManagerTest
 {
     private CLIManager cliManager;
 
-    @Before
+    @BeforeEach
     public void setup()
     {
         cliManager = new CLIManager();
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/CLIReportingUtilsTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/CLIReportingUtilsTest.java
index 0d1262c..ac0cb30 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/CLIReportingUtilsTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/CLIReportingUtilsTest.java
@@ -19,9 +19,9 @@ package org.apache.maven.cli;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class CLIReportingUtilsTest
 {
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/CleanArgumentTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/CleanArgumentTest.java
index 7e2b489..1624be1 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/CleanArgumentTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/CleanArgumentTest.java
@@ -19,9 +19,9 @@ package org.apache.maven.cli;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * @author Karl Heinz Marbaise
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
index 1edb84e..c7a41a5 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
@@ -26,11 +26,11 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.nullValue;
 import static org.hamcrest.CoreMatchers.notNullValue;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.hamcrest.collection.IsIterableContainingInOrder.contains;
 import static org.mockito.Mockito.inOrder;
@@ -55,30 +55,25 @@ import org.apache.maven.toolchain.building.ToolchainsBuildingRequest;
 import org.apache.maven.toolchain.building.ToolchainsBuildingResult;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusContainer;
-import org.eclipse.sisu.plexus.PlexusBeanModule;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.InOrder;
 
-import com.google.inject.Binder;
-import com.google.inject.Module;
-
 public class MavenCliTest
 {
     private MavenCli cli;
 
     private String origBasedir;
 
-    @Before
+    @BeforeEach
     public void setUp()
     {
         cli = new MavenCli();
         origBasedir = System.getProperty( MavenCli.MULTIMODULE_PROJECT_DIRECTORY );
     }
 
-    @After
+    @AfterEach
     public void tearDown()
         throws Exception
     {
@@ -149,9 +144,10 @@ public class MavenCliTest
         // -TC2.2
         assertEquals( (int) ( cores * 2.2 ), cli.calculateDegreeOfConcurrencyWithCoreMultiplier( "2.2C" ) );
 
-        assertThrows( "Should have failed with a NumberFormatException",
+        assertThrows(
                 NumberFormatException.class,
-                () -> cli.calculateDegreeOfConcurrencyWithCoreMultiplier( "CXXX" ) );
+                () -> cli.calculateDegreeOfConcurrencyWithCoreMultiplier( "CXXX" ),
+                "Should have failed with a NumberFormatException" );
     }
 
     @Test
@@ -307,7 +303,7 @@ public class MavenCliTest
     public void testStyleColors()
         throws Exception
     {
-        assumeTrue( "ANSI not supported", MessageUtils.isColorEnabled() );
+        assumeTrue( MessageUtils.isColorEnabled(), "ANSI not supported" );
         CliRequest request;
 
         MessageUtils.setColorEnabled( true );
@@ -349,8 +345,10 @@ public class MavenCliTest
         CliRequest maybeColorRequest = new CliRequest( new String[] { "-Dstyle.color=maybe", "-B", "-l", "target/temp/mvn.log" }, null );
         cli.cli( maybeColorRequest );
         cli.properties( maybeColorRequest );
-        assertThrows( "maybe is not a valid option", IllegalArgumentException.class,
-                () -> cli.logging( maybeColorRequest ) );
+        assertThrows(
+                IllegalArgumentException.class,
+                () -> cli.logging( maybeColorRequest ),
+                "maybe is not a valid option" );
     }
 
     /**
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/event/ExecutionEventLoggerTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/event/ExecutionEventLoggerTest.java
index 3abb872..d374b24 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/event/ExecutionEventLoggerTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/event/ExecutionEventLoggerTest.java
@@ -26,9 +26,9 @@ import static org.mockito.Mockito.when;
 import org.apache.maven.execution.ExecutionEvent;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.utils.logging.MessageUtils;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 import org.mockito.InOrder;
 import org.slf4j.Logger;
 
@@ -36,13 +36,13 @@ public class ExecutionEventLoggerTest
 {
     private ExecutionEventLogger executionEventLogger;
 
-    @BeforeClass
+    @BeforeAll
     public static void setUp()
     {
         MessageUtils.setColorEnabled( false );
     }
 
-    @AfterClass
+    @AfterAll
     public static void tearDown()
     {
         MessageUtils.setColorEnabled( true );
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/transfer/FileSizeFormatTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/transfer/FileSizeFormatTest.java
index e595ace..5090fac 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/transfer/FileSizeFormatTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/transfer/FileSizeFormatTest.java
@@ -23,19 +23,20 @@ import java.util.Locale;
 
 import org.apache.maven.cli.transfer.AbstractMavenTransferListener.FileSizeFormat;
 import org.apache.maven.cli.transfer.AbstractMavenTransferListener.FileSizeFormat.ScaleUnit;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 public class FileSizeFormatTest {
 
-    @Test( expected = IllegalArgumentException.class )
+    @Test
     public void testNegativeSize()
     {
         FileSizeFormat format = new FileSizeFormat( Locale.ENGLISH );
 
         long negativeSize = -100L;
-        format.format( negativeSize );
+        assertThrows( IllegalArgumentException.class, () -> format.format( negativeSize ) );
     }
 
     @Test
@@ -209,21 +210,21 @@ public class FileSizeFormatTest {
         assertEquals( "1.0 GB", format.format( _1000_megabytes, ScaleUnit.GIGABYTE ) );
     }
 
-    @Test( expected = IllegalArgumentException.class )
+    @Test
     public void testNegativeProgressedSize()
     {
         FileSizeFormat format = new FileSizeFormat( Locale.ENGLISH );
 
         long negativeProgressedSize = -100L;
-        format.formatProgress( negativeProgressedSize, 10L );
+        assertThrows( IllegalArgumentException.class, () -> format.formatProgress( negativeProgressedSize, 10L ) );
     }
 
-    @Test( expected = IllegalArgumentException.class )
+    @Test
     public void testNegativeProgressedSizeBiggerThanSize()
     {
         FileSizeFormat format = new FileSizeFormat( Locale.ENGLISH );
 
-        format.formatProgress( 100L, 10L );
+        assertThrows( IllegalArgumentException.class, () -> format.formatProgress( 100L, 10L ) );
     }
 
     @Test
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java
index ed384d0..1401652 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java
@@ -22,11 +22,11 @@ package org.apache.maven.model.building;
 import java.io.File;
 import java.util.Properties;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 /**
  * @author Konstantin Perikov
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java
index 1f869d0..5f12d6b 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java
@@ -22,10 +22,10 @@ package org.apache.maven.model.building;
 import java.io.File;
 
 import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * @author Benjamin Bentmann
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderTest.java
index 2b6d53a..d61e2aa 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderTest.java
@@ -25,10 +25,10 @@ import org.apache.maven.model.Repository;
 import org.apache.maven.model.resolution.InvalidRepositoryException;
 import org.apache.maven.model.resolution.ModelResolver;
 import org.apache.maven.model.resolution.UnresolvableModelException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 /**
  * @author Guillaume Nodet
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/building/FileModelSourceTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/building/FileModelSourceTest.java
index 569cfc9..d4a489c 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/building/FileModelSourceTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/building/FileModelSourceTest.java
@@ -23,11 +23,12 @@ import java.io.File;
 import java.io.IOException;
 
 import org.apache.commons.lang3.SystemUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import static junit.framework.TestCase.assertFalse;
-import static junit.framework.TestCase.assertTrue;
-import static org.junit.Assume.assumeTrue;
 
 /**
  * Test that validate the solution of MNG-6261 issue
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java
index 1c8b29b..9d53014 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/building/FileToRawModelMergerTest.java
@@ -28,10 +28,10 @@ import java.util.stream.Stream;
 
 import org.apache.maven.model.building.DefaultModelBuilder.FileToRawModelMerger;
 import org.apache.maven.model.merge.ModelMerger;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.hasItems;
-import static org.junit.Assert.assertThat;
 
 public class FileToRawModelMergerTest
 {
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
index 4df8953..b36c184 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
@@ -38,13 +38,13 @@ import org.apache.maven.model.io.DefaultModelReader;
 import org.apache.maven.model.io.DefaultModelWriter;
 import org.apache.maven.model.io.ModelWriter;
 import org.apache.maven.xml.sax.filter.AbstractSAXFilter;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.xmlunit.matchers.CompareMatcher;
 
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * @author Hervé Boutemy
@@ -57,7 +57,7 @@ public class DefaultInheritanceAssemblerTest
 
     private InheritanceAssembler assembler;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
@@ -171,10 +171,10 @@ public class DefaultInheritanceAssemblerTest
         catch ( AssertionError afe )
         {
             // expected failure: wrong relative path calculation
-            assertTrue( afe.getMessage(),
-                        afe.getMessage().contains(
+            assertTrue( afe.getMessage().contains(
                                 "Expected text value 'http://www.apache.org/path/to/parent/child-artifact-id/' but was " +
-                                        "'http://www.apache.org/path/to/parent/../child-artifact-id/'" ) );
+                                        "'http://www.apache.org/path/to/parent/../child-artifact-id/'" ),
+                        afe.getMessage() );
         }
         // but ok from repo: local disk is ignored
         testInheritance( "tricky-flat-artifactId-urls", true );
@@ -183,13 +183,15 @@ public class DefaultInheritanceAssemblerTest
         // then relative path calculation will success during build from disk but fail when calculated from repo
         testInheritance( "tricky-flat-directory-urls", false );
 
-        AssertionError afe = assertThrows( "should have failed since module reference == directory name != artifactId",
+        AssertionError afe = assertThrows(
                 AssertionError.class,
-                () -> testInheritance( "tricky-flat-directory-urls", true ) );
+                () -> testInheritance( "tricky-flat-directory-urls", true ),
+                "should have failed since module reference == directory name != artifactId" );
         // expected failure
-        assertTrue( afe.getMessage(), afe.getMessage().contains(
-                "Expected text value 'http://www.apache.org/path/to/parent/../child-artifact-id/' but was " +
-                        "'http://www.apache.org/path/to/parent/child-artifact-id/'" ) );
+        assertTrue( afe.getMessage().contains(
+                                "Expected text value 'http://www.apache.org/path/to/parent/../child-artifact-id/' but was " +
+                                        "'http://www.apache.org/path/to/parent/child-artifact-id/'" ),
+                    afe.getMessage() );
     }
 
     @Test
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
index d32aa68..032ef28 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
@@ -38,22 +38,21 @@ import org.apache.maven.model.Scm;
 import org.apache.maven.model.building.DefaultModelBuildingRequest;
 import org.apache.maven.model.building.ModelBuildingRequest;
 import org.apache.maven.model.building.SimpleProblemCollector;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * @author jdcasey
  */
 public abstract class AbstractModelInterpolatorTest
 {
-    protected ModelInterpolator interpolator;
     private Properties context;
 
-    @Before
+    @BeforeEach
     public void setUp()
     {
         context = new Properties();
@@ -64,16 +63,16 @@ public abstract class AbstractModelInterpolatorTest
 
     protected void assertProblemFree( SimpleProblemCollector collector )
     {
-        assertEquals( "Expected no errors", 0, collector.getErrors().size() );
-        assertEquals( "Expected no warnings", 0, collector.getWarnings().size() );
-        assertEquals( "Expected no fatals", 0, collector.getFatals().size() );
+        assertEquals( 0, collector.getErrors().size(), "Expected no errors" );
+        assertEquals( 0, collector.getWarnings().size(), "Expected no warnings" );
+        assertEquals( 0, collector.getFatals().size(), "Expected no fatals" );
     }
 
     protected void assertCollectorState( int numFatals, int numErrors, int numWarnings, SimpleProblemCollector collector )
     {
-        assertEquals( "Errors", numErrors, collector.getErrors().size() );
-        assertEquals( "Warnings", numWarnings, collector.getWarnings().size() );
-        assertEquals( "Fatals", numFatals, collector.getFatals().size() );
+        assertEquals( numErrors, collector.getErrors().size(), "Errors" );
+        assertEquals( numWarnings, collector.getWarnings().size(), "Warnings" );
+        assertEquals( numFatals, collector.getFatals().size(), "Fatals" );
     }
 
     private ModelBuildingRequest createModelBuildingRequest( Properties p )
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java
index 56dc49c..73ea399 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java
@@ -22,9 +22,9 @@ package org.apache.maven.model.interpolation;
 import java.util.Date;
 import java.util.Properties;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class MavenBuildTimestampTest
 {
@@ -35,6 +35,6 @@ public class MavenBuildTimestampTest
         interpolationProperties.setProperty( "maven.build.timestamp.format", "yyyyMMdd'T'HHmm'Z'" );
         MavenBuildTimestamp timestamp = new MavenBuildTimestamp( new Date(), interpolationProperties );
         String formattedTimestamp = timestamp.formattedTimestamp();
-        assertTrue( "We expect the UTC marker at the end of the timestamp.", formattedTimestamp.endsWith( "Z" ) );
+        assertTrue( formattedTimestamp.endsWith( "Z" ), "We expect the UTC marker at the end of the timestamp." );
     }
 }
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
index 0d27cae..d0d71fd 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
@@ -38,13 +38,14 @@ import org.apache.maven.model.Model;
 import org.apache.maven.model.building.DefaultModelBuildingRequest;
 import org.apache.maven.model.building.ModelBuildingRequest;
 import org.apache.maven.model.building.SimpleProblemCollector;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.CoreMatchers.anyOf;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * StringSearchModelInterpolatorTest - not in use
@@ -56,16 +57,9 @@ import static org.junit.Assert.assertNotNull;
 public class StringSearchModelInterpolatorTest
     extends AbstractModelInterpolatorTest
 {
-    @Override
-    public void setUp()
-    {
-        super.setUp();
-        interpolator = new StringSearchModelInterpolator();
-    }
-
     protected ModelInterpolator createInterpolator()
     {
-        return this.interpolator;
+        return new StringSearchModelInterpolator();
     }
 
     @Test
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
index bd201ed..7c90b07 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
@@ -21,15 +21,8 @@ package org.apache.maven.model.interpolation;
 
 public class StringVisitorModelInterpolatorTest extends AbstractModelInterpolatorTest
 {
-    @Override
-    public void setUp()
-    {
-        super.setUp();
-        interpolator = new StringVisitorModelInterpolator();
-    }
-
     protected ModelInterpolator createInterpolator()
     {
-        return this.interpolator;
+        return new StringVisitorModelInterpolator();
     }
 }
\ No newline at end of file
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/merge/MavenModelMergerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/merge/MavenModelMergerTest.java
index 906a8b2..636f3fb 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/merge/MavenModelMergerTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/merge/MavenModelMergerTest.java
@@ -25,10 +25,10 @@ import java.util.Collections;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Prerequisites;
 import org.apache.maven.model.Profile;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 public class MavenModelMergerTest
 {
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java
index 76135e2..010abe0 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java
@@ -19,10 +19,10 @@ package org.apache.maven.model.path;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 /**
  * @author Benjamin Bentmann
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java
index 8544d2a..c665125 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java
@@ -26,10 +26,10 @@ import org.apache.maven.model.Profile;
 import org.apache.maven.model.building.SimpleProblemCollector;
 import org.apache.maven.model.profile.DefaultProfileActivationContext;
 import org.apache.maven.model.profile.ProfileActivationContext;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Provides common services to test {@link ProfileActivator} implementations.
@@ -48,14 +48,14 @@ public abstract class AbstractProfileActivatorTest<T extends ProfileActivator>
         this.activatorClass = Objects.requireNonNull( activatorClass, "activatorClass cannot be null" );;
     }
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
         activator = activatorClass.getConstructor().newInstance();
     }
 
-    @After
+    @AfterEach
     public void tearDown()
         throws Exception
     {
@@ -74,8 +74,8 @@ public abstract class AbstractProfileActivatorTest<T extends ProfileActivator>
 
         assertEquals( active, activator.isActive( profile, context, problems ) );
 
-        assertEquals( problems.getErrors().toString(), 0, problems.getErrors().size() );
-        assertEquals( problems.getWarnings().toString(), 0, problems.getWarnings().size() );
+        assertEquals( 0, problems.getErrors().size(), problems.getErrors().toString() );
+        assertEquals( 0, problems.getWarnings().size(), problems.getWarnings().toString() );
     }
 
 }
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java
index 92ad135..51bd93f 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java
@@ -23,7 +23,7 @@ import java.util.Properties;
 
 import org.apache.maven.model.Activation;
 import org.apache.maven.model.Profile;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests {@link JdkVersionProfileActivator}.
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java
index 3bffea2..251ea7d 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java
@@ -24,7 +24,7 @@ import java.util.Properties;
 import org.apache.maven.model.Activation;
 import org.apache.maven.model.ActivationProperty;
 import org.apache.maven.model.Profile;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests {@link PropertyProfileActivator}.
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
index 3e4457c..5f17a8a 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
@@ -27,13 +27,13 @@ import org.apache.maven.model.building.DefaultModelBuildingRequest;
 import org.apache.maven.model.building.ModelBuildingRequest;
 import org.apache.maven.model.building.SimpleProblemCollector;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
@@ -48,7 +48,7 @@ public class DefaultModelValidatorTest
     {
         String resource = "/poms/validation/" + pom;
         InputStream is = getClass().getResourceAsStream( resource );
-        assertNotNull( "missing resource: " + resource, is );
+        assertNotNull( is, "missing resource: " + resource );
         return new MavenXpp3Reader().read( is );
     }
 
@@ -96,17 +96,17 @@ public class DefaultModelValidatorTest
 
     private void assertContains( String msg, String substring )
     {
-        assertTrue( "\"" + substring + "\" was not found in: " + msg, msg.contains( substring ) );
+        assertTrue( msg.contains( substring ), "\"" + substring + "\" was not found in: " + msg );
     }
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
         validator = new DefaultModelValidator();
     }
 
-    @After
+    @AfterEach
     public void tearDown()
         throws Exception
     {
@@ -115,9 +115,9 @@ public class DefaultModelValidatorTest
 
     private void assertViolations( SimpleProblemCollector result, int fatals, int errors, int warnings )
     {
-        assertEquals( String.valueOf( result.getFatals() ), fatals, result.getFatals().size() );
-        assertEquals( String.valueOf( result.getErrors() ), errors, result.getErrors().size() );
-        assertEquals( String.valueOf( result.getWarnings() ), warnings, result.getWarnings().size() );
+        assertEquals( fatals, result.getFatals().size(), String.valueOf( result.getFatals() ) );
+        assertEquals( errors, result.getErrors().size(), String.valueOf( result.getErrors() ) );
+        assertEquals( warnings, result.getWarnings().size(), String.valueOf( result.getWarnings() ) );
     }
 
     @Test
diff --git a/maven-model/src/test/java/org/apache/maven/model/ActivationFileTest.java b/maven-model/src/test/java/org/apache/maven/model/ActivationFileTest.java
index c95eb0f..cbfdc2a 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ActivationFileTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ActivationFileTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code ActivationFile}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ActivationOSTest.java b/maven-model/src/test/java/org/apache/maven/model/ActivationOSTest.java
index d6d8509..3be5cd9 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ActivationOSTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ActivationOSTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code ActivationOS}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ActivationPropertyTest.java b/maven-model/src/test/java/org/apache/maven/model/ActivationPropertyTest.java
index 3fae4e0..564adc0 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ActivationPropertyTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ActivationPropertyTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code ActivationProperty}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ActivationTest.java b/maven-model/src/test/java/org/apache/maven/model/ActivationTest.java
index a9d4acd..520c0a9 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ActivationTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ActivationTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Activation}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/BuildTest.java b/maven-model/src/test/java/org/apache/maven/model/BuildTest.java
index f16de69..3a14bd3 100644
--- a/maven-model/src/test/java/org/apache/maven/model/BuildTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/BuildTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Build}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/CiManagementTest.java b/maven-model/src/test/java/org/apache/maven/model/CiManagementTest.java
index 8ed000e..ee6d41d 100644
--- a/maven-model/src/test/java/org/apache/maven/model/CiManagementTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/CiManagementTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code CiManagement}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ContributorTest.java b/maven-model/src/test/java/org/apache/maven/model/ContributorTest.java
index 9171503..e2f3dbb 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ContributorTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ContributorTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Contributor}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java b/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java
index 70ebd51..e63d224 100644
--- a/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code DependencyManagement}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/DependencyTest.java b/maven-model/src/test/java/org/apache/maven/model/DependencyTest.java
index 4210e09..6b7bc3f 100644
--- a/maven-model/src/test/java/org/apache/maven/model/DependencyTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/DependencyTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Dependency}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/DeploymentRepositoryTest.java b/maven-model/src/test/java/org/apache/maven/model/DeploymentRepositoryTest.java
index 95037f5..c648ffd 100644
--- a/maven-model/src/test/java/org/apache/maven/model/DeploymentRepositoryTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/DeploymentRepositoryTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code DeploymentRepository}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/DeveloperTest.java b/maven-model/src/test/java/org/apache/maven/model/DeveloperTest.java
index 54c6b73..61d86f0 100644
--- a/maven-model/src/test/java/org/apache/maven/model/DeveloperTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/DeveloperTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Developer}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/DistributionManagementTest.java b/maven-model/src/test/java/org/apache/maven/model/DistributionManagementTest.java
index 91b9395..db8ba21 100644
--- a/maven-model/src/test/java/org/apache/maven/model/DistributionManagementTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/DistributionManagementTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code DistributionManagement}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ExclusionTest.java b/maven-model/src/test/java/org/apache/maven/model/ExclusionTest.java
index 7aba6c7..90e4b74 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ExclusionTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ExclusionTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Exclusion}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ExtensionTest.java b/maven-model/src/test/java/org/apache/maven/model/ExtensionTest.java
index da40b0d..218ff50 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ExtensionTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ExtensionTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Extension}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/IssueManagementTest.java b/maven-model/src/test/java/org/apache/maven/model/IssueManagementTest.java
index 2ca800d..27e1eb0 100644
--- a/maven-model/src/test/java/org/apache/maven/model/IssueManagementTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/IssueManagementTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code IssueManagement}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/LicenseTest.java b/maven-model/src/test/java/org/apache/maven/model/LicenseTest.java
index 739c139..dd56616 100644
--- a/maven-model/src/test/java/org/apache/maven/model/LicenseTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/LicenseTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code License}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/MailingListTest.java b/maven-model/src/test/java/org/apache/maven/model/MailingListTest.java
index 0171ab8..5de9edc 100644
--- a/maven-model/src/test/java/org/apache/maven/model/MailingListTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/MailingListTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code MailingList}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ModelTest.java b/maven-model/src/test/java/org/apache/maven/model/ModelTest.java
index 4910549..37adc82 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ModelTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ModelTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Model}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/NotifierTest.java b/maven-model/src/test/java/org/apache/maven/model/NotifierTest.java
index f0da085..026632a 100644
--- a/maven-model/src/test/java/org/apache/maven/model/NotifierTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/NotifierTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Notifier}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/OrganizationTest.java b/maven-model/src/test/java/org/apache/maven/model/OrganizationTest.java
index 71f1f3b..ef19d2a 100644
--- a/maven-model/src/test/java/org/apache/maven/model/OrganizationTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/OrganizationTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Organization}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ParentTest.java b/maven-model/src/test/java/org/apache/maven/model/ParentTest.java
index 3007e15..d8690fc 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ParentTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ParentTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Parent}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/PluginConfigurationTest.java b/maven-model/src/test/java/org/apache/maven/model/PluginConfigurationTest.java
index 34ea7ad..3e52df7 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PluginConfigurationTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PluginConfigurationTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code PluginConfiguration}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/PluginContainerTest.java b/maven-model/src/test/java/org/apache/maven/model/PluginContainerTest.java
index e9e4f52..ed4e9e3 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PluginContainerTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PluginContainerTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code PluginContainer}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/PluginExecutionTest.java b/maven-model/src/test/java/org/apache/maven/model/PluginExecutionTest.java
index 4613727..35b78bd 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PluginExecutionTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PluginExecutionTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code PluginExecution}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/PluginManagementTest.java b/maven-model/src/test/java/org/apache/maven/model/PluginManagementTest.java
index 49af4af..b4d8266 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PluginManagementTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PluginManagementTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code PluginManagement}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/PluginTest.java b/maven-model/src/test/java/org/apache/maven/model/PluginTest.java
index f67abba..d8e345b 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PluginTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PluginTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Plugin}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/PrerequisitesTest.java b/maven-model/src/test/java/org/apache/maven/model/PrerequisitesTest.java
index c4f7ef5..2c91e47 100644
--- a/maven-model/src/test/java/org/apache/maven/model/PrerequisitesTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/PrerequisitesTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Prerequisites}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ProfileTest.java b/maven-model/src/test/java/org/apache/maven/model/ProfileTest.java
index 40f2cb5..ac719e4 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ProfileTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ProfileTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Profile}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/RelocationTest.java b/maven-model/src/test/java/org/apache/maven/model/RelocationTest.java
index 5ef704e..ea825a6 100644
--- a/maven-model/src/test/java/org/apache/maven/model/RelocationTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/RelocationTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Relocation}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ReportPluginTest.java b/maven-model/src/test/java/org/apache/maven/model/ReportPluginTest.java
index 6e149d7..094d2d5 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ReportPluginTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ReportPluginTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code ReportPlugin}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ReportSetTest.java b/maven-model/src/test/java/org/apache/maven/model/ReportSetTest.java
index 72395f2..c0bb257 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ReportSetTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ReportSetTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code ReportSet}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ReportingTest.java b/maven-model/src/test/java/org/apache/maven/model/ReportingTest.java
index 5e22e6f..3b04d02 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ReportingTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ReportingTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Reporting}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/RepositoryPolicyTest.java b/maven-model/src/test/java/org/apache/maven/model/RepositoryPolicyTest.java
index 933e17d..770bce2 100644
--- a/maven-model/src/test/java/org/apache/maven/model/RepositoryPolicyTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/RepositoryPolicyTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code RepositoryPolicy}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/RepositoryTest.java b/maven-model/src/test/java/org/apache/maven/model/RepositoryTest.java
index ca5cf71..62f32d7 100644
--- a/maven-model/src/test/java/org/apache/maven/model/RepositoryTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/RepositoryTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Repository}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ResourceTest.java b/maven-model/src/test/java/org/apache/maven/model/ResourceTest.java
index 476f736..3e5b1b3 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ResourceTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ResourceTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Resource}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/ScmTest.java b/maven-model/src/test/java/org/apache/maven/model/ScmTest.java
index a4d2b1f..a6ccc24 100644
--- a/maven-model/src/test/java/org/apache/maven/model/ScmTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/ScmTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Scm}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/SiteTest.java b/maven-model/src/test/java/org/apache/maven/model/SiteTest.java
index 140548f..5fe4975 100644
--- a/maven-model/src/test/java/org/apache/maven/model/SiteTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/SiteTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.model;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests {@code Site}.
diff --git a/maven-model/src/test/java/org/apache/maven/model/merge/ModelMergerTest.java b/maven-model/src/test/java/org/apache/maven/model/merge/ModelMergerTest.java
index 732c277..104b977 100644
--- a/maven-model/src/test/java/org/apache/maven/model/merge/ModelMergerTest.java
+++ b/maven-model/src/test/java/org/apache/maven/model/merge/ModelMergerTest.java
@@ -1,5 +1,6 @@
 package org.apache.maven.model.merge;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.contains;
 import static org.hamcrest.Matchers.is;
 
@@ -22,8 +23,6 @@ import static org.hamcrest.Matchers.is;
  * under the License.
  */
 
-import static org.junit.Assert.assertThat;
-
 import java.util.Arrays;
 
 import org.apache.maven.model.Build;
@@ -37,7 +36,7 @@ import org.apache.maven.model.PluginExecution;
 import org.apache.maven.model.Profile;
 import org.apache.maven.model.ReportSet;
 import org.apache.maven.model.Repository;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * ModelMerger is based on same instances, subclasses should override KeyComputer per type
diff --git a/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java b/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java
index 4aa9f46..5b245af 100644
--- a/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java
+++ b/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java
@@ -27,10 +27,10 @@ import org.codehaus.plexus.component.repository.ComponentRequirement;
 import org.codehaus.plexus.configuration.PlexusConfiguration;
 import org.codehaus.plexus.configuration.PlexusConfigurationException;
 import org.codehaus.plexus.util.ReaderFactory;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * Tests {@link PluginDescriptorBuilder}.
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
index 699a172..0301a60 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
@@ -26,15 +26,13 @@ import javax.inject.Inject;
 import org.apache.maven.test.PlexusTestCase;
 import org.apache.maven.repository.internal.util.ConsoleRepositoryListener;
 import org.apache.maven.repository.internal.util.ConsoleTransferListener;
-import org.codehaus.plexus.ContainerConfiguration;
-import org.codehaus.plexus.PlexusConstants;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.RepositorySystem;
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.repository.LocalRepository;
 import org.eclipse.aether.repository.RemoteRepository;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 
 public abstract class AbstractRepositoryTestCase
     extends PlexusTestCase
@@ -44,7 +42,7 @@ public abstract class AbstractRepositoryTestCase
 
     protected RepositorySystemSession session;
 
-    @Before
+    @BeforeEach
     @Override
     public void setUp()
         throws Exception
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
index 154ebc7..cd45fe3 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReaderTest.java
@@ -25,11 +25,11 @@ import org.eclipse.aether.artifact.DefaultArtifact;
 import org.eclipse.aether.impl.ArtifactDescriptorReader;
 import org.eclipse.aether.impl.RepositoryEventDispatcher;
 import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentCaptor;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
@@ -73,7 +73,6 @@ public class DefaultArtifactDescriptorReaderTest
             }
         }
 
-        assertTrue( "Expected missing artifact descriptor for org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2",
-                missingArtifactDescriptor );
+        assertTrue( missingArtifactDescriptor, "Expected missing artifact descriptor for org.apache.maven.its:dep-mng5459:pom:0.4.0-20130404.090532-2" );
     }
 }
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java
index 3b13e2c..ce09b4b 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java
@@ -30,12 +30,12 @@ import org.codehaus.plexus.component.repository.exception.ComponentLookupExcepti
 import org.eclipse.aether.impl.ArtifactResolver;
 import org.eclipse.aether.impl.RemoteRepositoryManager;
 import org.eclipse.aether.impl.VersionRangeResolver;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Test cases for the default {@code ModelResolver} implementation.
@@ -62,9 +62,10 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         parent.setArtifactId( "artifact" );
         parent.setVersion( "0" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( parent ) );
+                () -> newModelResolver().resolveModel( parent ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertNotNull( e.getMessage() );
         assertTrue( e.getMessage().startsWith( "Could not find artifact ut.simple:artifact:pom:0 in repo" ) );
     }
@@ -77,9 +78,10 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         parent.setArtifactId( "artifact" );
         parent.setVersion( "[2.0,2.1)" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( parent ) );
+                () -> newModelResolver().resolveModel( parent ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertNotNull( e.getMessage() );
         assertEquals( "No versions matched the requested parent version range '[2.0,2.1)'",
                       e.getMessage() );
@@ -93,9 +95,10 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         parent.setArtifactId( "artifact" );
         parent.setVersion( "[1.0,)" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( parent ) );
+                () -> newModelResolver().resolveModel( parent ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertEquals( "The requested parent version range '[1.0,)' does not specify an upper bound",
                       e.getMessage() );
     }
@@ -132,9 +135,10 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         dependency.setArtifactId( "artifact" );
         dependency.setVersion( "0" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( dependency ) );
+                () -> newModelResolver().resolveModel( dependency ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertNotNull( e.getMessage() );
         assertTrue( e.getMessage().startsWith( "Could not find artifact ut.simple:artifact:pom:0 in repo" ) );
     }
@@ -147,9 +151,10 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         dependency.setArtifactId( "artifact" );
         dependency.setVersion( "[2.0,2.1)" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( dependency ) );
+                () -> newModelResolver().resolveModel( dependency ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertEquals( "No versions matched the requested dependency version range '[2.0,2.1)'",
                       e.getMessage() );
     }
@@ -162,9 +167,10 @@ public final class DefaultModelResolverTest extends AbstractRepositoryTestCase
         dependency.setArtifactId( "artifact" );
         dependency.setVersion( "[1.0,)" );
 
-        UnresolvableModelException e = assertThrows( "Expected 'UnresolvableModelException' not thrown.",
+        UnresolvableModelException e = assertThrows(
                 UnresolvableModelException.class,
-                () -> newModelResolver().resolveModel( dependency ) );
+                () -> newModelResolver().resolveModel( dependency ),
+                "Expected 'UnresolvableModelException' not thrown." );
         assertEquals( "The requested dependency version range '[1.0,)' does not specify an upper bound",
                       e.getMessage() );
     }
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
index 03d8eb5..8eebaf5 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
@@ -23,14 +23,13 @@ import javax.inject.Inject;
 
 import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.impl.VersionResolver;
 import org.eclipse.aether.resolution.VersionRequest;
 import org.eclipse.aether.resolution.VersionResult;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class DefaultVersionResolverTest
     extends AbstractRepositoryTestCase
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java
index 59b83e2..e54ceb1 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/MavenRepositorySystemUtilsTest.java
@@ -22,10 +22,10 @@ package org.apache.maven.repository.internal;
 import org.eclipse.aether.RepositorySystem;
 import org.eclipse.aether.impl.MetadataGeneratorFactory;
 import org.eclipse.aether.spi.locator.ServiceLocator;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 public class MavenRepositorySystemUtilsTest
 {
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java
index a1526d6..86c7269 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java
@@ -29,24 +29,24 @@ import java.util.Set;
 
 import org.apache.maven.artifact.repository.metadata.Metadata;
 import org.eclipse.aether.artifact.DefaultArtifact;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class RemoteSnapshotMetadataTest
 {
     private Locale defaultLocale;
 
-    @Before
+    @BeforeEach
     public void setLocaleToUseBuddhistCalendar()
     {
         defaultLocale = Locale.getDefault();
         Locale.setDefault( new Locale( "th", "TH" ) );
     }
 
-    @After
+    @AfterEach
     public void restoreLocale()
     {
         Locale.setDefault( defaultLocale );
@@ -76,7 +76,6 @@ public class RemoteSnapshotMetadataTest
 
         /* Allow for this test running across midnight */
         Set<String> expected = new HashSet<>( Arrays.asList( dateBefore, dateAfter ) );
-        assertTrue( "Expected " + datePart + " to be in " + expected,
-                expected.contains( datePart ) );
+        assertTrue( expected.contains( datePart ), "Expected " + datePart + " to be in " + expected );
     }
 }
diff --git a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
index bddbd8c..77b2781 100644
--- a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
+++ b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java
@@ -32,13 +32,13 @@ import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
 import org.eclipse.aether.resolution.ArtifactDescriptorResult;
 import org.eclipse.aether.resolution.ArtifactRequest;
 import org.eclipse.aether.resolution.ArtifactResult;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class RepositorySystemTest
     extends AbstractRepositoryTestCase
diff --git a/maven-settings-builder/src/test/java/org/apache/maven/settings/building/DefaultSettingsBuilderFactoryTest.java b/maven-settings-builder/src/test/java/org/apache/maven/settings/building/DefaultSettingsBuilderFactoryTest.java
index 648549b..63d62be 100644
--- a/maven-settings-builder/src/test/java/org/apache/maven/settings/building/DefaultSettingsBuilderFactoryTest.java
+++ b/maven-settings-builder/src/test/java/org/apache/maven/settings/building/DefaultSettingsBuilderFactoryTest.java
@@ -21,9 +21,9 @@ package org.apache.maven.settings.building;
 
 import java.io.File;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * @author Benjamin Bentmann
diff --git a/maven-settings-builder/src/test/java/org/apache/maven/settings/validation/DefaultSettingsValidatorTest.java b/maven-settings-builder/src/test/java/org/apache/maven/settings/validation/DefaultSettingsValidatorTest.java
index ffeb0d7..c23ebd2 100644
--- a/maven-settings-builder/src/test/java/org/apache/maven/settings/validation/DefaultSettingsValidatorTest.java
+++ b/maven-settings-builder/src/test/java/org/apache/maven/settings/validation/DefaultSettingsValidatorTest.java
@@ -30,12 +30,12 @@ import org.apache.maven.settings.Server;
 import org.apache.maven.settings.Settings;
 import org.apache.maven.settings.building.SettingsProblem.Severity;
 import org.apache.maven.settings.building.SettingsProblemCollector;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * @author mkleint
@@ -45,14 +45,14 @@ public class DefaultSettingsValidatorTest
 
     private DefaultSettingsValidator validator;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
         validator = new DefaultSettingsValidator();
     }
 
-    @After
+    @AfterEach
     public void tearDown()
         throws Exception
     {
@@ -61,7 +61,7 @@ public class DefaultSettingsValidatorTest
 
     private void assertContains( String msg, String substring )
     {
-        assertTrue( "\"" + substring + "\" was not found in: " + msg, msg.contains( substring ) );
+        assertTrue( msg.contains( substring ), "\"" + substring + "\" was not found in: " + msg );
     }
 
     @Test
diff --git a/maven-slf4j-provider/src/test/java/org/slf4j/impl/MavenLoggerFactoryTest.java b/maven-slf4j-provider/src/test/java/org/slf4j/impl/MavenLoggerFactoryTest.java
index 352d627..44ac3d2 100644
--- a/maven-slf4j-provider/src/test/java/org/slf4j/impl/MavenLoggerFactoryTest.java
+++ b/maven-slf4j-provider/src/test/java/org/slf4j/impl/MavenLoggerFactoryTest.java
@@ -20,16 +20,17 @@ package org.slf4j.impl;
  */
 
 import org.apache.maven.logwrapper.LogLevelRecorder;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class MavenLoggerFactoryTest
 {
@@ -80,11 +81,12 @@ public class MavenLoggerFactoryTest
         assertTrue( logLevelRecorder.metThreshold() );
     }
 
-    @Test( expected = IllegalStateException.class )
+    @Test
     public void failOnSeverityThresholdCanOnlyBeSetOnce()
     {
         MavenLoggerFactory mavenLoggerFactory = new MavenLoggerFactory();
         mavenLoggerFactory.setLogLevelRecorder( new LogLevelRecorder( "WARN" ) );
-        mavenLoggerFactory.setLogLevelRecorder( new LogLevelRecorder( "ERROR" ) );
+        assertThrows( IllegalStateException.class,
+                      () -> mavenLoggerFactory.setLogLevelRecorder( new LogLevelRecorder( "ERROR" ) ) );
     }
 }
diff --git a/maven-slf4j-wrapper/pom.xml b/maven-slf4j-wrapper/pom.xml
index bdb7687..2631135 100644
--- a/maven-slf4j-wrapper/pom.xml
+++ b/maven-slf4j-wrapper/pom.xml
@@ -40,5 +40,10 @@ under the License.
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.hamcrest</groupId>
+      <artifactId>hamcrest-library</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
\ No newline at end of file
diff --git a/maven-slf4j-wrapper/src/test/java/org/apache/maven/logwrapper/LogLevelRecorderTest.java b/maven-slf4j-wrapper/src/test/java/org/apache/maven/logwrapper/LogLevelRecorderTest.java
index 2bdb867..1e521a9 100644
--- a/maven-slf4j-wrapper/src/test/java/org/apache/maven/logwrapper/LogLevelRecorderTest.java
+++ b/maven-slf4j-wrapper/src/test/java/org/apache/maven/logwrapper/LogLevelRecorderTest.java
@@ -19,13 +19,13 @@ package org.apache.maven.logwrapper;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.slf4j.event.Level;
 
 import static org.hamcrest.CoreMatchers.containsString;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class LogLevelRecorderTest
 {
@@ -38,10 +38,10 @@ public class LogLevelRecorderTest
         assertTrue( logLevelRecorder.metThreshold() );
     }
 
-    @Test( expected = IllegalArgumentException.class )
+    @Test
     public void failsOnLowerThanWarn ()
     {
-        new LogLevelRecorder( "INFO" );
+        assertThrows( IllegalArgumentException.class, () -> new LogLevelRecorder( "INFO" ) );
     }
 
     @Test
diff --git a/maven-test-support/pom.xml b/maven-test-support/pom.xml
index 8a5821c..c051cc4 100644
--- a/maven-test-support/pom.xml
+++ b/maven-test-support/pom.xml
@@ -35,11 +35,17 @@ under the License.
 
   <dependencies>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-engine</artifactId>
       <version>${junitVersion}</version>
     </dependency>
     <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-params</artifactId>
+      <version>${junitVersion}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>com.google.inject</groupId>
       <artifactId>guice</artifactId>
       <classifier>no_aop</classifier>
@@ -68,6 +74,12 @@ under the License.
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-component-annotations</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-params</artifactId>
+      <version>5.7.0</version>
+      <scope>compile</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java b/maven-test-support/src/main/java/org/apache/maven/test/Parameter.java
similarity index 68%
copy from maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
copy to maven-test-support/src/main/java/org/apache/maven/test/Parameter.java
index bd201ed..f5164c5 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
+++ b/maven-test-support/src/main/java/org/apache/maven/test/Parameter.java
@@ -1,4 +1,4 @@
-package org.apache.maven.model.interpolation;
+package org.apache.maven.test;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -19,17 +19,14 @@ package org.apache.maven.model.interpolation;
  * under the License.
  */
 
-public class StringVisitorModelInterpolatorTest extends AbstractModelInterpolatorTest
-{
-    @Override
-    public void setUp()
-    {
-        super.setUp();
-        interpolator = new StringVisitorModelInterpolator();
-    }
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 
-    protected ModelInterpolator createInterpolator()
-    {
-        return this.interpolator;
-    }
-}
\ No newline at end of file
+/**
+ * Parameter
+ */
+@Retention( RetentionPolicy.RUNTIME )
+public @interface Parameter
+{
+    int value() default 0;
+}
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java b/maven-test-support/src/main/java/org/apache/maven/test/Parameterized.java
similarity index 64%
copy from maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
copy to maven-test-support/src/main/java/org/apache/maven/test/Parameterized.java
index bd201ed..a15fbaf 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
+++ b/maven-test-support/src/main/java/org/apache/maven/test/Parameterized.java
@@ -1,4 +1,4 @@
-package org.apache.maven.model.interpolation;
+package org.apache.maven.test;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -19,17 +19,19 @@ package org.apache.maven.model.interpolation;
  * under the License.
  */
 
-public class StringVisitorModelInterpolatorTest extends AbstractModelInterpolatorTest
-{
-    @Override
-    public void setUp()
-    {
-        super.setUp();
-        interpolator = new StringVisitorModelInterpolator();
-    }
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.junit.jupiter.api.extension.ExtendWith;
 
-    protected ModelInterpolator createInterpolator()
-    {
-        return this.interpolator;
-    }
-}
\ No newline at end of file
+/**
+ * Parameterized
+ */
+@Target( { ElementType.ANNOTATION_TYPE, ElementType.TYPE } )
+@Retention( RetentionPolicy.RUNTIME )
+@ExtendWith( ParameterizedExtension.class )
+public @interface Parameterized
+{
+}
diff --git a/maven-test-support/src/main/java/org/apache/maven/test/ParameterizedExtension.java b/maven-test-support/src/main/java/org/apache/maven/test/ParameterizedExtension.java
new file mode 100644
index 0000000..5741db4
--- /dev/null
+++ b/maven-test-support/src/main/java/org/apache/maven/test/ParameterizedExtension.java
@@ -0,0 +1,182 @@
+package org.apache.maven.test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import org.junit.jupiter.api.extension.Extension;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.api.extension.TestInstancePostProcessor;
+import org.junit.jupiter.api.extension.TestInstantiationException;
+import org.junit.jupiter.api.extension.TestTemplateInvocationContext;
+import org.junit.jupiter.api.extension.TestTemplateInvocationContextProvider;
+import org.junit.jupiter.params.converter.DefaultArgumentConverter;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.platform.commons.util.CollectionUtils;
+import org.junit.platform.commons.util.ReflectionUtils;
+
+import static org.junit.jupiter.params.provider.Arguments.arguments;
+import static org.junit.platform.commons.util.AnnotationUtils.isAnnotated;
+
+/**
+ * ParameterizedExtension
+ */
+public class ParameterizedExtension implements TestTemplateInvocationContextProvider
+{
+
+    @Override
+    public boolean supportsTestTemplate( ExtensionContext context )
+    {
+        return context.getTestMethod()
+                .map( m -> isAnnotated( m, Test.class ) )
+                .orElse( false );
+    }
+
+    @Override
+    public Stream<TestTemplateInvocationContext> provideTestTemplateInvocationContexts(
+            ExtensionContext extensionContext )
+    {
+        Class<?> testClass = extensionContext.getRequiredTestClass();
+        try
+        {
+            List<Method> parameters = getParametersMethods( testClass );
+            if ( parameters.size() != 1 )
+            {
+                throw new IllegalStateException(
+                        "Class " + testClass.getName() + " should provide a single method annotated with @"
+                                                + Parameters.class.getSimpleName() );
+            }
+            Object params = parameters.iterator().next().invoke( null );
+            return CollectionUtils.toStream( params )
+                    .map( ParameterizedExtension::toArguments )
+                    .map( Arguments::get )
+                    .map( ParameterizedTemplate::new );
+        }
+        catch ( Exception e )
+        {
+            throw new IllegalStateException( "Unable to generate test templates for class " + testClass.getName(), e );
+        }
+    }
+
+    private List<Method> getParametersMethods( Class<?> testClass )
+    {
+        List<Method> parameters = Stream.of( testClass.getDeclaredMethods() )
+                .filter( m -> Modifier.isStatic( m.getModifiers() ) )
+                .filter( m -> m.getAnnotation( Parameters.class ) != null )
+                .collect( Collectors.toList() );
+        if ( parameters.isEmpty() && testClass != null )
+        {
+            return getParametersMethods( testClass.getSuperclass() );
+        }
+        else
+        {
+            return parameters;
+        }
+    }
+
+    private static Arguments toArguments( Object item )
+    {
+        // Nothing to do except cast.
+        if ( item instanceof Arguments )
+        {
+            return ( Arguments ) item;
+        }
+        // Pass all multidimensional arrays "as is", in contrast to Object[].
+        // See https://github.com/junit-team/junit5/issues/1665
+        if ( ReflectionUtils.isMultidimensionalArray( item ) )
+        {
+            return arguments( item );
+        }
+        // Special treatment for one-dimensional reference arrays.
+        // See https://github.com/junit-team/junit5/issues/1665
+        if ( item instanceof Object[] )
+        {
+            return arguments( ( Object[] ) item );
+        }
+        // Pass everything else "as is".
+        return arguments( item );
+    }
+
+    /**
+     * ParameterizedTemplate
+     */
+    public static class ParameterizedTemplate implements TestTemplateInvocationContext
+    {
+
+        private final Object[] params;
+
+        public ParameterizedTemplate( Object[] params )
+        {
+            this.params = params;
+        }
+
+        @Override
+        public String getDisplayName( int invocationIndex )
+        {
+            return "[" + invocationIndex + "] "
+                   + Stream.of( params ).map( Object::toString ).collect( Collectors.joining( ", " ) );
+        }
+
+        @Override
+        public List<Extension> getAdditionalExtensions()
+        {
+            return Arrays.asList(
+                    ( TestInstancePostProcessor ) this::postProcessTestInstance );
+        }
+
+        protected void postProcessTestInstance( Object testInstance, ExtensionContext context ) throws Exception
+        {
+            Class<?> clazz = testInstance.getClass();
+            List<Field> fields = hierarchy( clazz )
+                    .map( Class::getDeclaredFields )
+                    .flatMap( Stream::of )
+                    .filter( f -> isAnnotated( f, Parameter.class ) )
+                    .sorted( Comparator.comparing( f -> ( Integer ) f.getAnnotation( Parameter.class ).value() ) )
+                    .collect( Collectors.toList() );
+            if ( params.length != fields.size() )
+            {
+                throw new TestInstantiationException(
+                        "Expected " + fields.size() + " parameters bug got " + params.length + " when instantiating "
+                                                     + clazz.getName() );
+            }
+            for ( int i = 0; i < fields.size(); i++ )
+            {
+                Field f = fields.get( i );
+                f.setAccessible( true );
+                f.set( testInstance, DefaultArgumentConverter.INSTANCE.convert( params[i], f.getType() ) );
+            }
+        }
+
+        protected Stream<Class<?>> hierarchy( Class<?> clazz )
+        {
+            Class<?> superclass = clazz.getSuperclass();
+            return Stream.concat( Stream.of( clazz ), superclass != null ? hierarchy( superclass ) : Stream.empty() );
+        }
+
+    }
+
+}
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java b/maven-test-support/src/main/java/org/apache/maven/test/Parameters.java
similarity index 68%
copy from maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
copy to maven-test-support/src/main/java/org/apache/maven/test/Parameters.java
index bd201ed..b643a3a 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
+++ b/maven-test-support/src/main/java/org/apache/maven/test/Parameters.java
@@ -1,4 +1,4 @@
-package org.apache.maven.model.interpolation;
+package org.apache.maven.test;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -19,17 +19,17 @@ package org.apache.maven.model.interpolation;
  * under the License.
  */
 
-public class StringVisitorModelInterpolatorTest extends AbstractModelInterpolatorTest
-{
-    @Override
-    public void setUp()
-    {
-        super.setUp();
-        interpolator = new StringVisitorModelInterpolator();
-    }
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
 
-    protected ModelInterpolator createInterpolator()
-    {
-        return this.interpolator;
-    }
-}
\ No newline at end of file
+/**
+ * Parameters
+ */
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface Parameters
+{
+    String name() default "{index}";
+}
diff --git a/maven-test-support/src/main/java/org/apache/maven/test/PlexusTestCase.java b/maven-test-support/src/main/java/org/apache/maven/test/PlexusTestCase.java
index 7f53fd1..91dc25e 100644
--- a/maven-test-support/src/main/java/org/apache/maven/test/PlexusTestCase.java
+++ b/maven-test-support/src/main/java/org/apache/maven/test/PlexusTestCase.java
@@ -50,8 +50,8 @@ import org.codehaus.plexus.component.repository.exception.ComponentLookupExcepti
 import org.codehaus.plexus.configuration.PlexusConfiguration;
 import org.codehaus.plexus.context.Context;
 import org.codehaus.plexus.context.DefaultContext;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 
 /**
  * This is a slightly modified version of the original plexus class
@@ -70,7 +70,7 @@ public abstract class PlexusTestCase
 
     private static String basedir;
 
-    @Before
+    @BeforeEach
     public void setUp()
             throws Exception
     {
@@ -161,7 +161,7 @@ public abstract class PlexusTestCase
         return null;
     }
 
-    @After
+    @AfterEach
     public void tearDown()
             throws Exception
     {
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java b/maven-test-support/src/main/java/org/apache/maven/test/Test.java
similarity index 68%
copy from maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
copy to maven-test-support/src/main/java/org/apache/maven/test/Test.java
index bd201ed..5b542b6 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
+++ b/maven-test-support/src/main/java/org/apache/maven/test/Test.java
@@ -1,4 +1,4 @@
-package org.apache.maven.model.interpolation;
+package org.apache.maven.test;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -19,17 +19,16 @@ package org.apache.maven.model.interpolation;
  * under the License.
  */
 
-public class StringVisitorModelInterpolatorTest extends AbstractModelInterpolatorTest
-{
-    @Override
-    public void setUp()
-    {
-        super.setUp();
-        interpolator = new StringVisitorModelInterpolator();
-    }
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import org.junit.jupiter.api.TestTemplate;
 
-    protected ModelInterpolator createInterpolator()
-    {
-        return this.interpolator;
-    }
-}
\ No newline at end of file
+/**
+ * Test
+ */
+@Retention( RetentionPolicy.RUNTIME )
+@TestTemplate
+public @interface Test
+{
+}
diff --git a/maven-wrapper/src/test/java/org/apache/maven/wrapper/DownloaderTest.java b/maven-wrapper/src/test/java/org/apache/maven/wrapper/DownloaderTest.java
index 68bc5c6..c0e84c7 100644
--- a/maven-wrapper/src/test/java/org/apache/maven/wrapper/DownloaderTest.java
+++ b/maven-wrapper/src/test/java/org/apache/maven/wrapper/DownloaderTest.java
@@ -19,7 +19,7 @@ package org.apache.maven.wrapper;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.net.URI;
 import java.nio.file.Files;
@@ -27,15 +27,14 @@ import java.nio.file.Path;
 import java.util.Arrays;
 import java.util.stream.Collectors;
 
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 
 public class DownloaderTest
 {
-    @Rule
-    public TemporaryFolder testDir = new TemporaryFolder();
+    @TempDir
+    public Path testDir;
 
     private DefaultDownloader download;
 
@@ -47,14 +46,14 @@ public class DownloaderTest
 
     private Path remoteFile;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
         download = new DefaultDownloader( "mvnw", "aVersion" );
-        rootDir = testDir.newFolder( "root" ).toPath();
+        rootDir = testDir.resolve( "root" );
         downloadFile = rootDir.resolve( "file" );
-        remoteFile = testDir.newFile( "remoteFile" ).toPath();
+        remoteFile = testDir.resolve( "remoteFile" );
         Files.write( remoteFile, Arrays.asList( "sometext" ) );
         sourceRoot = remoteFile.toUri();
     }
diff --git a/maven-wrapper/src/test/java/org/apache/maven/wrapper/InstallerTest.java b/maven-wrapper/src/test/java/org/apache/maven/wrapper/InstallerTest.java
index 3ff712a..bef2057 100644
--- a/maven-wrapper/src/test/java/org/apache/maven/wrapper/InstallerTest.java
+++ b/maven-wrapper/src/test/java/org/apache/maven/wrapper/InstallerTest.java
@@ -31,18 +31,18 @@ import java.util.Arrays;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.taskdefs.Zip;
 import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 
 /**
  * @author Hans Dockter
  */
 public class InstallerTest
 {
-    @Rule
-    public TemporaryFolder temporaryFolder = new TemporaryFolder();
+    @TempDir
+    public Path temporaryFolder;
 
     private Installer install;
 
@@ -62,7 +62,7 @@ public class InstallerTest
 
     private PathAssembler.LocalDistribution localDistribution;
 
-    @Before
+    @BeforeEach
     public void setup()
         throws Exception
     {
@@ -73,9 +73,11 @@ public class InstallerTest
         configuration.setDistribution( new URI( "http://server/maven-0.9.zip" ) );
         configuration.setAlwaysDownload( false );
         configuration.setAlwaysUnpack( false );
-        distributionDir = temporaryFolder.newFolder( "someDistPath" ).toPath();
+        distributionDir = temporaryFolder.resolve( "someDistPath" );
+        Files.createDirectories( distributionDir );
         mavenHomeDir = distributionDir.resolve( "maven-0.9" );
-        zipStore = temporaryFolder.newFolder( "zips" ).toPath();
+        zipStore = temporaryFolder.resolve( "zips" );
+        Files.createDirectories( zipStore );
         zipDestination = zipStore.resolve( "maven-0.9.zip" );
 
         download = mock( Downloader.class );
@@ -94,7 +96,7 @@ public class InstallerTest
     {
         Files.createDirectories( zipDestination.getParent() );
 
-        Path explodedZipDir = temporaryFolder.newFolder( "explodedZip" ).toPath();
+        Path explodedZipDir = temporaryFolder.resolve( "explodedZip" );
 
         Path mavenScript = explodedZipDir.resolve( "maven-0.9/bin/mvn" );
         Files.createDirectories( mavenScript.getParent() );
@@ -103,6 +105,8 @@ public class InstallerTest
         zipTo( explodedZipDir, zipDestination );
     }
 
+    @Test
+    @Disabled("not working")
     public void testCreateDist()
         throws Exception
     {
diff --git a/maven-wrapper/src/test/java/org/apache/maven/wrapper/PathAssemblerTest.java b/maven-wrapper/src/test/java/org/apache/maven/wrapper/PathAssemblerTest.java
index 9e22be0..a2334c1 100644
--- a/maven-wrapper/src/test/java/org/apache/maven/wrapper/PathAssemblerTest.java
+++ b/maven-wrapper/src/test/java/org/apache/maven/wrapper/PathAssemblerTest.java
@@ -22,20 +22,15 @@ package org.apache.maven.wrapper;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
-import java.io.File;
 import java.net.URI;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.util.regex.Pattern;
 
-import org.hamcrest.BaseMatcher;
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 /**
  * @author Hans Dockter
@@ -48,7 +43,7 @@ public class PathAssemblerTest
 
     final WrapperConfiguration configuration = new WrapperConfiguration();
 
-    @Before
+    @BeforeEach
     public void setup()
     {
         configuration.setDistributionBase( PathAssembler.MAVEN_USER_HOME_STRING );
diff --git a/maven-wrapper/src/test/java/org/apache/maven/wrapper/WrapperExecutorTest.java b/maven-wrapper/src/test/java/org/apache/maven/wrapper/WrapperExecutorTest.java
index 970245e..23bcf21 100644
--- a/maven-wrapper/src/test/java/org/apache/maven/wrapper/WrapperExecutorTest.java
+++ b/maven-wrapper/src/test/java/org/apache/maven/wrapper/WrapperExecutorTest.java
@@ -19,11 +19,11 @@ package org.apache.maven.wrapper;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -35,17 +35,15 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.Properties;
 
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 import org.mockito.Mockito;
 
 public class WrapperExecutorTest
 {
-    @Rule
-    public TemporaryFolder testDir = new TemporaryFolder();
+    @TempDir
+    public Path testDir;
 
     private Installer install;
 
@@ -57,17 +55,17 @@ public class WrapperExecutorTest
 
     private Path mockInstallDir;
 
-    @Before
+    @BeforeEach
     public void setUp()
         throws Exception
     {
-        mockInstallDir = testDir.newFolder( "mock-dir" ).toPath();
+        mockInstallDir = testDir.resolve( "mock-dir" );
 
         install = mock( Installer.class );
         when( install.createDist( Mockito.any( WrapperConfiguration.class ) ) ).thenReturn( mockInstallDir );
         start = mock( BootstrapMainStarter.class );
 
-        propertiesFile = testDir.newFolder( "maven", "wrapper" ).toPath().resolve( "maven-wrapper.properties" );
+        propertiesFile = testDir.resolve( "maven" ).resolve( "wrapper" ).resolve( "maven-wrapper.properties" );
 
         properties.put( "distributionUrl", "http://server/test/maven.zip" );
         properties.put( "distributionBase", "testDistBase" );
@@ -96,7 +94,7 @@ public class WrapperExecutorTest
     public void loadWrapperMetadataFromDirectory()
         throws Exception
     {
-        WrapperExecutor wrapper = WrapperExecutor.forProjectDirectory( testDir.getRoot().toPath() );
+        WrapperExecutor wrapper = WrapperExecutor.forProjectDirectory( testDir );
 
         assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getDistribution() );
         assertEquals( new URI( "http://server/test/maven.zip" ), wrapper.getConfiguration().getDistribution() );
@@ -110,7 +108,7 @@ public class WrapperExecutorTest
     public void useDefaultMetadataNoProeprtiesFile()
         throws Exception
     {
-        WrapperExecutor wrapper = WrapperExecutor.forProjectDirectory( testDir.getRoot().toPath().resolve( "unknown" ) );
+        WrapperExecutor wrapper = WrapperExecutor.forProjectDirectory( testDir.resolve( "unknown" ) );
 
         assertNull( wrapper.getDistribution() );
         assertNull( wrapper.getConfiguration().getDistribution() );
@@ -157,9 +155,10 @@ public class WrapperExecutorTest
         properties = new Properties();
         writePropertiesFile( properties, propertiesFile, "header" );
 
-        RuntimeException e = assertThrows( "Expected RuntimeException",
+        RuntimeException e = assertThrows(
                 RuntimeException.class,
-                () -> WrapperExecutor.forWrapperPropertiesFile( propertiesFile ) );
+                () -> WrapperExecutor.forWrapperPropertiesFile( propertiesFile ),
+                "Expected RuntimeException" );
         assertEquals( "No value with key 'distributionUrl' specified in wrapper properties file '"
             + propertiesFile + "'.", e.getMessage() );
     }
@@ -167,11 +166,12 @@ public class WrapperExecutorTest
     @Test
     public void failWhenPropertiesFileDoesNotExist()
     {
-        propertiesFile = testDir.getRoot().toPath().resolve( "unknown.properties" );
+        propertiesFile = testDir.resolve( "unknown.properties" );
 
-        RuntimeException e = assertThrows( "Expected RuntimeException",
+        RuntimeException e = assertThrows(
                 RuntimeException.class,
-                () -> WrapperExecutor.forWrapperPropertiesFile( propertiesFile ) );
+                () -> WrapperExecutor.forWrapperPropertiesFile( propertiesFile ),
+                "Expected RuntimeException" );
         assertEquals( "Wrapper properties file '" + propertiesFile + "' does not exist.", e.getMessage() );
     }
 
diff --git a/maven-xml/pom.xml b/maven-xml/pom.xml
index 7995e98..600c2b9 100644
--- a/maven-xml/pom.xml
+++ b/maven-xml/pom.xml
@@ -33,6 +33,11 @@ under the License.
 
   <dependencies>
     <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-test-support</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.xmlunit</groupId>
       <artifactId>xmlunit-assertj</artifactId>
       <scope>test</scope>
diff --git a/maven-xml/src/test/java/org/apache/maven/xml/sax/ChainedFilterTest.java b/maven-xml/src/test/java/org/apache/maven/xml/sax/ChainedFilterTest.java
index 47ac456..e9b10c9 100644
--- a/maven-xml/src/test/java/org/apache/maven/xml/sax/ChainedFilterTest.java
+++ b/maven-xml/src/test/java/org/apache/maven/xml/sax/ChainedFilterTest.java
@@ -34,7 +34,7 @@ import javax.xml.transform.stream.StreamResult;
 
 import org.apache.maven.xml.Factories;
 import org.apache.maven.xml.sax.filter.AbstractSAXFilter;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
diff --git a/maven-xml/src/test/java/org/apache/maven/xml/sax/SAXEventUtilsTest.java b/maven-xml/src/test/java/org/apache/maven/xml/sax/SAXEventUtilsTest.java
index 02e55dc..048ee84 100644
--- a/maven-xml/src/test/java/org/apache/maven/xml/sax/SAXEventUtilsTest.java
+++ b/maven-xml/src/test/java/org/apache/maven/xml/sax/SAXEventUtilsTest.java
@@ -19,13 +19,10 @@ package org.apache.maven.xml.sax;
  * under the License.
  */
 
-import static org.junit.Assert.assertThat;
-
-import org.apache.maven.xml.sax.SAXEventUtils;
-
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.CoreMatchers.is;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class SAXEventUtilsTest
 {
diff --git a/maven-xml/src/test/java/org/apache/maven/xml/sax/ext/CommentRenormalizerTest.java b/maven-xml/src/test/java/org/apache/maven/xml/sax/ext/CommentRenormalizerTest.java
index c1885e2..dad847e 100644
--- a/maven-xml/src/test/java/org/apache/maven/xml/sax/ext/CommentRenormalizerTest.java
+++ b/maven-xml/src/test/java/org/apache/maven/xml/sax/ext/CommentRenormalizerTest.java
@@ -25,18 +25,19 @@ import static org.mockito.Mockito.verify;
 import java.util.Arrays;
 import java.util.Collection;
 
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.apache.maven.test.Parameter;
+import org.apache.maven.test.Parameterized;
+import org.apache.maven.test.Parameters;
+import org.apache.maven.test.Test;
 import org.xml.sax.ext.LexicalHandler;
 
-@RunWith( Parameterized.class )
+@Parameterized
 public class CommentRenormalizerTest
 {
-    private LexicalHandler lexicalHandler;
+    private LexicalHandler lexicalHandler = mock( LexicalHandler.class );
 
-    private final String lineSeparator;
+    @Parameter
+    private String lineSeparator;
 
     @Parameters
     public static Collection<Object[]> data() {
@@ -47,12 +48,6 @@ public class CommentRenormalizerTest
            });
     }
 
-    public CommentRenormalizerTest( String lineSeparator )
-    {
-        this.lineSeparator = lineSeparator;
-        this.lexicalHandler = mock( LexicalHandler.class );
-    }
-
     @Test
     public void singleLine()
         throws Exception
diff --git a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/CiFriendlyXMLFilterTest.java b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/CiFriendlyXMLFilterTest.java
index e51b76d..d83617e 100644
--- a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/CiFriendlyXMLFilterTest.java
+++ b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/CiFriendlyXMLFilterTest.java
@@ -19,20 +19,21 @@ package org.apache.maven.xml.sax.filter;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.TransformerException;
 
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.BeforeEach;
+
 import org.xml.sax.SAXException;
 
 public class CiFriendlyXMLFilterTest extends AbstractXMLFilterTests
 {
     private CiFriendlyXMLFilter filter;
 
-    @Before
+    @BeforeEach
     public void setUp()
     {
         filter = new CiFriendlyXMLFilter( true );
diff --git a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterTest.java b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterTest.java
index 300246a..df81175 100644
--- a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterTest.java
+++ b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterTest.java
@@ -31,7 +31,7 @@ import java.util.function.Function;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.TransformerConfigurationException;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.xml.sax.SAXException;
 import org.xml.sax.ext.LexicalHandler;
 
diff --git a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ModulesXMLFilterTest.java b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ModulesXMLFilterTest.java
index fac2b79..301e316 100644
--- a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ModulesXMLFilterTest.java
+++ b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ModulesXMLFilterTest.java
@@ -23,7 +23,7 @@ import static org.xmlunit.assertj.XmlAssert.assertThat;
 
 import java.util.function.Consumer;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.xml.sax.ext.LexicalHandler;
 
 public class ModulesXMLFilterTest extends AbstractXMLFilterTests {
diff --git a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ParentXMLFilterTest.java b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ParentXMLFilterTest.java
index 809aef5..222e11f 100644
--- a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ParentXMLFilterTest.java
+++ b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ParentXMLFilterTest.java
@@ -19,7 +19,7 @@ package org.apache.maven.xml.sax.filter;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.nio.file.Paths;
 import java.util.Optional;
@@ -28,7 +28,7 @@ import java.util.function.Consumer;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.TransformerException;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.xml.sax.SAXException;
 import org.xml.sax.ext.LexicalHandler;
 
diff --git a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilterTest.java b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilterTest.java
index 21a1742..d938503 100644
--- a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilterTest.java
+++ b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilterTest.java
@@ -25,7 +25,7 @@ import java.util.function.Consumer;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.TransformerException;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.xml.sax.SAXException;
 import org.xml.sax.ext.LexicalHandler;
 
diff --git a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/RelativePathXMLFilterTest.java b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/RelativePathXMLFilterTest.java
index 51ee41d..1628266 100644
--- a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/RelativePathXMLFilterTest.java
+++ b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/RelativePathXMLFilterTest.java
@@ -21,8 +21,7 @@ package org.apache.maven.xml.sax.filter;
 
 import static org.xmlunit.assertj.XmlAssert.assertThat;
 
-import org.apache.maven.xml.sax.filter.RelativePathXMLFilter;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class RelativePathXMLFilterTest extends AbstractXMLFilterTests
 {
diff --git a/pom.xml b/pom.xml
index 6c90fb2..07aa46a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,7 +52,7 @@ under the License.
     <classWorldsVersion>2.6.0</classWorldsVersion>
     <commonsCliVersion>1.4</commonsCliVersion>
     <commonsLangVersion>3.8.1</commonsLangVersion>
-    <junitVersion>4.13.1</junitVersion>
+    <junitVersion>5.7.0</junitVersion>
     <mockitoVersion>3.2.0</mockitoVersion>
     <plexusVersion>2.1.0</plexusVersion>
     <plexusInterpolationVersion>1.26</plexusInterpolationVersion>
@@ -474,11 +474,16 @@ under the License.
   <!--bootstrap-start-comment-->
   <dependencies>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-engine</artifactId>
       <version>${junitVersion}</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.hamcrest</groupId>
+      <artifactId>hamcrest-core</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
   <!--bootstrap-end-comment-->
 


[maven] 03/08: Fix problems related to rebase after MNG-6909

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MNG-7035
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 211631cd335167d48557c230ddb62411b3ae31d6
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jan 8 09:01:30 2021 +0100

    Fix problems related to rebase after MNG-6909
---
 .../org/apache/maven/project/ProjectClasspathTest.java |  2 +-
 .../test/java/org/apache/maven/DefaultMavenTest.java   | 18 ++++++++++++++++++
 .../rtinfo/internal/DefaultRuntimeInformationTest.java |  9 +++++++++
 3 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java b/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
index a056522..79f7a9a 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
@@ -54,7 +54,7 @@ public class ProjectClasspathTest
     }
 
     @Override
-    protected void setUp()
+    public void setUp()
             throws Exception
     {
         super.setUp();
diff --git a/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java b/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
index 7db406c..df8fa1b 100644
--- a/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
+++ b/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.maven;
 
 import java.io.File;
diff --git a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
index 5ed7863..09fbb4d 100644
--- a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
+++ b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
@@ -24,6 +24,7 @@ import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.apache.maven.PlexusTestCase;
+import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
@@ -50,6 +51,14 @@ public class DefaultRuntimeInformationTest
     }
 
     @Override
+    @Before
+    public void setUp() throws Exception
+    {
+        super.setUp();
+        getContainer();
+    }
+
+    @Override
     protected synchronized void setupContainer()
     {
         super.setupContainer();