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

[maven-enforcer] branch MENFORCER-372_junit5 created (now bacfe0f)

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

slachiewicz pushed a change to branch MENFORCER-372_junit5
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git.


      at bacfe0f  [MENFORCER-372] Apply OpenRewrite JUnit5BestPractices with some manual fixes

This branch includes the following new commits:

     new bacfe0f  [MENFORCER-372] Apply OpenRewrite JUnit5BestPractices with some manual fixes

The 1 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-enforcer] 01/01: [MENFORCER-372] Apply OpenRewrite JUnit5BestPractices with some manual fixes

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

slachiewicz pushed a commit to branch MENFORCER-372_junit5
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git

commit bacfe0f0afbf0dcaa2dc226a292cd434ef8cf829
Author: Tim te Beek <ti...@jdriven.com>
AuthorDate: Mon Nov 15 12:09:37 2021 +0100

    [MENFORCER-372] Apply OpenRewrite JUnit5BestPractices with some manual fixes
    
    Closes #113
---
 enforcer-rules/pom.xml                             |   9 +-
 .../BanDuplicatePomDependencyVersions.java         |   1 -
 .../enforcer/BanDistributionManagementTest.java    |  66 +++----
 .../enforcer/BannedDependenciesTestSetup.java      |   9 +-
 .../maven/plugins/enforcer/EnforcerTestUtils.java  |  25 +--
 .../apache/maven/plugins/enforcer/MockProject.java | 164 ++--------------
 .../enforcer/ReactorModuleConvergenceTest.java     | 147 +++++++-------
 .../plugins/enforcer/RequireActiveProfileTest.java |  76 ++++----
 .../plugins/enforcer/RequirePrerequisiteTest.java  |  73 +++----
 .../enforcer/RequireUpperBoundDepsTest.java        |  18 +-
 .../enforcer/TestAbstractVersionEnforcer.java      |  52 +++--
 .../maven/plugins/enforcer/TestAlwaysFail.java     |   7 +-
 .../maven/plugins/enforcer/TestAlwaysPass.java     |   6 +-
 .../plugins/enforcer/TestBannedDependencies.java   | 128 +++++++------
 .../plugins/enforcer/TestBannedRepositories.java   |  10 +-
 .../plugins/enforcer/TestEvaluateBeanshell.java    | 201 ++++++++++---------
 .../maven/plugins/enforcer/TestMavenVersion.java   |   7 +-
 .../enforcer/TestRequireEnvironmentVariable.java   |   8 +-
 .../plugins/enforcer/TestRequireFileChecksum.java  | 191 +++++++++----------
 .../enforcer/TestRequireFilesDontExist.java        |   6 +-
 .../plugins/enforcer/TestRequireFilesExist.java    |   3 -
 .../plugins/enforcer/TestRequireFilesSize.java     |   7 +-
 .../plugins/enforcer/TestRequireJavaVendor.java    |   4 -
 .../plugins/enforcer/TestRequireJavaVersion.java   |  27 +--
 .../enforcer/TestRequireNoRepositories.java        |  47 +++--
 .../maven/plugins/enforcer/TestRequireOS.java      |   2 +-
 .../enforcer/TestRequirePluginVersions.java        |  57 +++---
 .../plugins/enforcer/TestRequireProperty.java      |   4 -
 .../plugins/enforcer/TestRequireReleaseDeps.java   |  24 +--
 .../enforcer/TestRequireReleaseVersion.java        |   8 +-
 .../enforcer/TestRequireSnapshotVersion.java       |   6 +-
 .../enforcer/TestRequireTextFileChecksum.java      |  24 ++-
 .../enforcer/utils/EnforcerRuleUtilsHelper.java    |   4 +-
 .../utils/MockEnforcerExpressionEvaluator.java     |   2 +-
 .../enforcer/utils/TestArtifactMatcher.java        | 212 +++++++++++----------
 .../utils/TestMockEnforcerExpressionEvaluator.java |  10 +-
 .../utils/TestNormalizeLineSeparatorReader.java    |  10 +-
 maven-enforcer-plugin/pom.xml                      |  14 +-
 .../maven/plugins/enforcer/MockEnforcerRule.java   |  43 +++--
 .../enforcer/TestDefaultEnforcementRuleHelper.java |   9 +-
 .../maven/plugins/enforcer/TestEnforceMojo.java    |  72 +++----
 pom.xml                                            |  22 ++-
 42 files changed, 885 insertions(+), 930 deletions(-)

diff --git a/enforcer-rules/pom.xml b/enforcer-rules/pom.xml
index 3278cd9..d87e37a 100644
--- a/enforcer-rules/pom.xml
+++ b/enforcer-rules/pom.xml
@@ -86,8 +86,13 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java
index ed46d9f..de73b83 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java
@@ -173,7 +173,6 @@ public class BanDuplicatePomDependencyVersions
     }
 
     private Map<String, Integer> validateDependencies( List<Dependency> dependencies )
-        throws EnforcerRuleException
     {
         Map<String, Integer> duplicateDeps = new HashMap<>();
         Set<String> deps = new HashSet<>();
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BanDistributionManagementTest.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BanDistributionManagementTest.java
index 2c379e5..790c610 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BanDistributionManagementTest.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BanDistributionManagementTest.java
@@ -31,7 +31,9 @@ import org.apache.maven.model.Site;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 /**
  * This class is intended to test the {@link BanDistributionManagement} rule.
@@ -61,16 +63,16 @@ public class BanDistributionManagementTest
      *   &lt;/repository&gt;
      * &lt;/distributionManagement&gt;
      * </pre>
-     * 
-     * @throws Exception if any occurs
+     *
      */
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void shouldThrowExceptionIfDistributionManagementIsDefinedWithRepository()
-        throws Exception
     {
-        BanDistributionManagement rule =
-            setupProjectWithDistributionManagement( new DeploymentRepository(), null, null );
-        rule.execute( helper );
+        assertThrows( EnforcerRuleException.class, () -> {
+            BanDistributionManagement rule =
+                setupProjectWithDistributionManagement( new DeploymentRepository(), null, null );
+            rule.execute( helper );
+        } );
         // intentionally no assert cause we expect an exception.
     }
 
@@ -85,16 +87,16 @@ public class BanDistributionManagementTest
      *   &lt;/snapshotRepository&gt;
      * &lt;/distributionManagement&gt;
      * </pre>
-     * 
-     * @throws Exception if any occurs
+     *
      */
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void shouldThrowExceptionIfDistributionManagementIsDefinedWithRepositorySnapshotRepository()
-        throws Exception
     {
-        BanDistributionManagement rule =
-            setupProjectWithDistributionManagement( new DeploymentRepository(), new DeploymentRepository(), null );
-        rule.execute( helper );
+        assertThrows( EnforcerRuleException.class, () -> {
+            BanDistributionManagement rule =
+                setupProjectWithDistributionManagement( new DeploymentRepository(), new DeploymentRepository(), null );
+            rule.execute( helper );
+        } );
         // intentionally no assert cause we expect an exception.
     }
 
@@ -112,17 +114,18 @@ public class BanDistributionManagementTest
      *   &lt;/site&gt;
      * &lt;/distributionManagement&gt;
      * </pre>
-     * 
-     * @throws Exception if any occurs
+     *
      */
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void shouldThrowExceptionIfDistributionManagementIsDefinedWithRepositorySnapshotRepositorySite()
-        throws Exception
     {
-        BanDistributionManagement rule =
-            setupProjectWithDistributionManagement( new DeploymentRepository(), new DeploymentRepository(),
-                                                    new Site() );
-        rule.execute( helper );
+        assertThrows( EnforcerRuleException.class, () -> {
+            BanDistributionManagement rule =
+                setupProjectWithDistributionManagement( new DeploymentRepository(), new DeploymentRepository(),
+                                                        new Site() );
+            rule.execute( helper );
+            // intentionally no assert cause we expect an exception.
+        } );
         // intentionally no assert cause we expect an exception.
     }
 
@@ -220,7 +223,7 @@ public class BanDistributionManagementTest
     private BanDistributionManagement setupProjectWithParentDistributionManagement( DeploymentRepository repository,
                                                                                     DeploymentRepository snapshotRepository,
                                                                                     Site site )
-                                                                                        throws ExpressionEvaluationException
+        throws ExpressionEvaluationException
     {
         project = setupProject( null );
 
@@ -235,25 +238,20 @@ public class BanDistributionManagementTest
         when( parentProject.getOriginalModel() ).thenReturn( model );
         when( project.getParent() ).thenReturn( parentProject );
 
-        BanDistributionManagement rule = setupEnforcerRule();
-
-        return rule;
+        return setupEnforcerRule();
     }
 
     private BanDistributionManagement setupProjectWithoutDistributionManagement()
         throws ExpressionEvaluationException
     {
         project = setupProject( null );
-
-        BanDistributionManagement rule = setupEnforcerRule();
-
-        return rule;
+        return setupEnforcerRule();
     }
 
     private BanDistributionManagement setupProjectWithDistributionManagement( DeploymentRepository repository,
                                                                               DeploymentRepository snapshotRepository,
                                                                               Site site )
-                                                                                  throws ExpressionEvaluationException
+        throws ExpressionEvaluationException
     {
         DistributionManagement dm = mock( DistributionManagement.class );
         when( dm.getRepository() ).thenReturn( repository );
@@ -265,9 +263,7 @@ public class BanDistributionManagementTest
         when( project.getParent() ).thenReturn( mock( MavenProject.class ) );
         when( project.isExecutionRoot() ).thenReturn( true );
 
-        BanDistributionManagement rule = setupEnforcerRule();
-
-        return rule;
+        return setupEnforcerRule();
     }
 
     private MavenProject setupProject( DistributionManagement distributionManagement )
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java
index bc80fc4..659de75 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java
@@ -55,6 +55,7 @@ public class BannedDependenciesTestSetup
     }
 
     private List<String> excludes;
+
     private List<String> includes;
 
     private BannedDependencies rule;
@@ -73,12 +74,14 @@ public class BannedDependenciesTestSetup
         rule.execute( helper );
     }
 
-    public void addIncludeExcludeAndRunRule (String incAdd, String excAdd) throws EnforcerRuleException {
+    public void addIncludeExcludeAndRunRule( String incAdd, String excAdd )
+        throws EnforcerRuleException
+    {
         excludes.add( excAdd );
         includes.add( incAdd );
         rule.execute( helper );
     }
-    
+
     public List<String> getExcludes()
     {
         return excludes;
@@ -106,6 +109,4 @@ public class BannedDependenciesTestSetup
         return rule;
     }
 
-
 }
-
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java
index 792c82d..045306e 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java
@@ -69,7 +69,7 @@ public final class EnforcerTestUtils
 
         MavenExecutionRequest mer = mock( MavenExecutionRequest.class );
         ProjectBuildingRequest buildingRequest = mock( ProjectBuildingRequest.class );
-        when( buildingRequest.setRepositorySession( any() )).thenReturn( buildingRequest );
+        when( buildingRequest.setRepositorySession( any() ) ).thenReturn( buildingRequest );
         when( mer.getProjectBuildingRequest() ).thenReturn( buildingRequest );
 
         Properties systemProperties = new Properties();
@@ -135,31 +135,22 @@ public final class EnforcerTestUtils
             eval = new PluginParameterExpressionEvaluator( session, mockExecution );
         }
         PlexusContainer container = Mockito.mock( PlexusContainer.class );
-        
-        Artifact artifact = new DefaultArtifact( "groupId", "artifactId", "version", "compile", "jar",
-                                                 "classifier", null );
+
+        Artifact artifact =
+            new DefaultArtifact( "groupId", "artifactId", "version", "compile", "jar", "classifier", null );
         Artifact v1 = new DefaultArtifact( "groupId", "artifact", "1.0.0", "compile", "jar", "", null );
         Artifact v2 = new DefaultArtifact( "groupId", "artifact", "2.0.0", "compile", "jar", "", null );
         final DefaultDependencyNode node = new DefaultDependencyNode( artifact );
         DefaultDependencyNode child1 = new DefaultDependencyNode( node, v1, null, null, null );
         child1.setChildren( Collections.emptyList() );
-        DefaultDependencyNode child2 = new DefaultDependencyNode( node, v2, null, null, null  );
+        DefaultDependencyNode child2 = new DefaultDependencyNode( node, v2, null, null, null );
         child2.setChildren( Collections.emptyList() );
         node.setChildren( Arrays.asList( child1, child2 ) );
-        
-        DependencyCollectorBuilder dependencyCollectorBuilder = new DependencyCollectorBuilder() {
-            @Override
-            public org.apache.maven.shared.dependency.graph.DependencyNode collectDependencyGraph( ProjectBuildingRequest buildingRequest,
-                                                                                                   ArtifactFilter filter )
-                throws DependencyCollectorBuilderException
-            {
-                return node;
-            }
-        };
 
         try
         {
-            Mockito.when( container.lookup( DependencyCollectorBuilder.class ) ).thenReturn( dependencyCollectorBuilder  );
+            when( container.lookup( DependencyCollectorBuilder.class ) )
+                    .thenReturn( ( buildingRequest, filter ) -> node );
         }
         catch ( ComponentLookupException e )
         {
@@ -193,7 +184,7 @@ public final class EnforcerTestUtils
     {
         InputSource inputSource = new InputSource();
         inputSource.setModelId( "unit" );
-        
+
         Plugin plugin = new Plugin();
         plugin.setArtifactId( artifactId );
         plugin.setGroupId( groupId );
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/MockProject.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/MockProject.java
index 2a025f2..f213fd0 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/MockProject.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/MockProject.java
@@ -100,7 +100,7 @@ public class MockProject
 
     /** The plugin artifact repositories. */
     private List pluginArtifactRepositories;
-    
+
     /** The artifact repositories. */
     private List artifactRepositories;
 
@@ -235,18 +235,15 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getModulePathAdjustment(org.apache.maven.project.MavenProject)
      */
     public String getModulePathAdjustment( MavenProject mavenProject )
-        throws IOException
     {
         return "";
     }
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getArtifact()
      */
     public Artifact getArtifact()
@@ -256,7 +253,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setArtifact(org.apache.maven.artifact.Artifact)
      */
     public void setArtifact( Artifact artifact )
@@ -266,7 +262,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getModel()
      */
     public Model getModel()
@@ -276,7 +271,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getParent()
      */
     public MavenProject getParent()
@@ -286,7 +280,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setParent(org.apache.maven.project.MavenProject)
      */
     public void setParent( MavenProject mavenProject )
@@ -296,7 +289,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setRemoteArtifactRepositories(java.util.List)
      */
     public void setRemoteArtifactRepositories( List list )
@@ -306,7 +298,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getRemoteArtifactRepositories()
      */
     public List getRemoteArtifactRepositories()
@@ -316,7 +307,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#hasParent()
      */
     public boolean hasParent()
@@ -333,7 +323,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getFile()
      */
     public File getFile()
@@ -343,7 +332,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setFile(java.io.File)
      */
     public void setFile( File file )
@@ -353,7 +341,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getBasedir()
      */
     public File getBasedir()
@@ -377,7 +364,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setDependencies(java.util.List)
      */
     public void setDependencies( List list )
@@ -387,7 +373,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getDependencies()
      */
     public List getDependencies()
@@ -411,7 +396,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getDependencyManagement()
      */
     public DependencyManagement getDependencyManagement()
@@ -426,7 +410,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addCompileSourceRoot(java.lang.String)
      */
     public void addCompileSourceRoot( String string )
@@ -443,7 +426,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addScriptSourceRoot(java.lang.String)
      */
     public void addScriptSourceRoot( String string )
@@ -460,7 +442,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addTestCompileSourceRoot(java.lang.String)
      */
     public void addTestCompileSourceRoot( String string )
@@ -477,7 +458,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getCompileSourceRoots()
      */
     public List getCompileSourceRoots()
@@ -487,7 +467,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getScriptSourceRoots()
      */
     public List getScriptSourceRoots()
@@ -497,7 +476,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getTestCompileSourceRoots()
      */
     public List getTestCompileSourceRoots()
@@ -507,11 +485,9 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getCompileClasspathElements()
      */
     public List getCompileClasspathElements()
-        throws DependencyResolutionRequiredException
     {
         return compileSourceRoots;
     }
@@ -528,7 +504,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getCompileArtifacts()
      */
     public List getCompileArtifacts()
@@ -538,7 +513,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getCompileDependencies()
      */
     public List getCompileDependencies()
@@ -548,18 +522,15 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getTestClasspathElements()
      */
     public List getTestClasspathElements()
-        throws DependencyResolutionRequiredException
     {
         return testClasspathElements;
     }
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getTestArtifacts()
      */
     public List getTestArtifacts()
@@ -569,7 +540,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getTestDependencies()
      */
     public List getTestDependencies()
@@ -579,18 +549,15 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getRuntimeClasspathElements()
      */
     public List getRuntimeClasspathElements()
-        throws DependencyResolutionRequiredException
     {
         return runtimeClasspathElements;
     }
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getRuntimeArtifacts()
      */
     public List getRuntimeArtifacts()
@@ -600,7 +567,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getRuntimeDependencies()
      */
     public List getRuntimeDependencies()
@@ -610,18 +576,15 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getSystemClasspathElements()
      */
     public List getSystemClasspathElements()
-        throws DependencyResolutionRequiredException
     {
         return systemClasspathElements;
     }
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getSystemArtifacts()
      */
     public List getSystemArtifacts()
@@ -841,7 +804,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getSystemDependencies()
      */
     public List getSystemDependencies()
@@ -851,7 +813,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setModelVersion(java.lang.String)
      */
     public void setModelVersion( String string )
@@ -861,7 +822,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getModelVersion()
      */
     public String getModelVersion()
@@ -871,7 +831,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getId()
      */
     public String getId()
@@ -881,7 +840,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setGroupId(java.lang.String)
      */
     public void setGroupId( String string )
@@ -891,7 +849,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getGroupId()
      */
     public String getGroupId()
@@ -901,7 +858,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setArtifactId(java.lang.String)
      */
     public void setArtifactId( String string )
@@ -911,7 +867,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getArtifactId()
      */
     public String getArtifactId()
@@ -921,7 +876,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setName(java.lang.String)
      */
     public void setName( String string )
@@ -931,7 +885,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getName()
      */
     public String getName()
@@ -941,7 +894,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setVersion(java.lang.String)
      */
     public void setVersion( String string )
@@ -951,7 +903,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getVersion()
      */
     public String getVersion()
@@ -961,7 +912,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getPackaging()
      */
     public String getPackaging()
@@ -971,7 +921,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setPackaging(java.lang.String)
      */
     public void setPackaging( String string )
@@ -981,7 +930,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setInceptionYear(java.lang.String)
      */
     public void setInceptionYear( String string )
@@ -991,7 +939,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getInceptionYear()
      */
     public String getInceptionYear()
@@ -1001,7 +948,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setUrl(java.lang.String)
      */
     public void setUrl( String string )
@@ -1011,7 +957,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getUrl()
      */
     public String getUrl()
@@ -1021,7 +966,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getPrerequisites()
      */
     public Prerequisites getPrerequisites()
@@ -1031,7 +975,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setIssueManagement(org.apache.maven.model.IssueManagement)
      */
     public void setIssueManagement( IssueManagement issueManagement )
@@ -1041,7 +984,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getCiManagement()
      */
     public CiManagement getCiManagement()
@@ -1051,7 +993,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setCiManagement(org.apache.maven.model.CiManagement)
      */
     public void setCiManagement( CiManagement ciManagement )
@@ -1061,7 +1002,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getIssueManagement()
      */
     public IssueManagement getIssueManagement()
@@ -1071,8 +1011,8 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
-     * @see org.apache.maven.project.MavenProject#setDistributionManagement(org.apache.maven.model.DistributionManagement)
+     * @see
+     * org.apache.maven.project.MavenProject#setDistributionManagement(org.apache.maven.model.DistributionManagement)
      */
     public void setDistributionManagement( DistributionManagement distributionManagement )
     {
@@ -1081,7 +1021,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getDistributionManagement()
      */
     public DistributionManagement getDistributionManagement()
@@ -1091,7 +1030,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setDescription(java.lang.String)
      */
     public void setDescription( String string )
@@ -1101,7 +1039,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getDescription()
      */
     public String getDescription()
@@ -1111,7 +1048,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setOrganization(org.apache.maven.model.Organization)
      */
     public void setOrganization( Organization organization )
@@ -1121,7 +1057,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getOrganization()
      */
     public Organization getOrganization()
@@ -1131,7 +1066,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setScm(org.apache.maven.model.Scm)
      */
     public void setScm( Scm scm )
@@ -1141,7 +1075,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getScm()
      */
     public Scm getScm()
@@ -1151,7 +1084,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setMailingLists(java.util.List)
      */
     public void setMailingLists( List list )
@@ -1161,7 +1093,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getMailingLists()
      */
     public List getMailingLists()
@@ -1171,7 +1102,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addMailingList(org.apache.maven.model.MailingList)
      */
     public void addMailingList( MailingList mailingList )
@@ -1181,7 +1111,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setDevelopers(java.util.List)
      */
     public void setDevelopers( List list )
@@ -1191,7 +1120,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getDevelopers()
      */
     public List getDevelopers()
@@ -1201,7 +1129,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addDeveloper(org.apache.maven.model.Developer)
      */
     public void addDeveloper( Developer developer )
@@ -1211,7 +1138,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setContributors(java.util.List)
      */
     public void setContributors( List list )
@@ -1221,7 +1147,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getContributors()
      */
     public List getContributors()
@@ -1231,7 +1156,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addContributor(org.apache.maven.model.Contributor)
      */
     public void addContributor( Contributor contributor )
@@ -1241,7 +1165,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setBuild(org.apache.maven.model.Build)
      */
     public void setBuild( Build build )
@@ -1251,7 +1174,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getBuild()
      */
     public Build getBuild()
@@ -1261,7 +1183,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getResources()
      */
     public List getResources()
@@ -1271,7 +1192,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getTestResources()
      */
     public List getTestResources()
@@ -1281,7 +1201,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addResource(org.apache.maven.model.Resource)
      */
     public void addResource( Resource resource )
@@ -1291,7 +1210,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addTestResource(org.apache.maven.model.Resource)
      */
     public void addTestResource( Resource resource )
@@ -1301,7 +1219,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setReporting(org.apache.maven.model.Reporting)
      */
     public void setReporting( Reporting reporting )
@@ -1311,7 +1228,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getReporting()
      */
     public Reporting getReporting()
@@ -1321,7 +1237,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setLicenses(java.util.List)
      */
     public void setLicenses( List list )
@@ -1331,7 +1246,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getLicenses()
      */
     public List getLicenses()
@@ -1341,7 +1255,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addLicense(org.apache.maven.model.License)
      */
     public void addLicense( License license )
@@ -1351,7 +1264,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setArtifacts(java.util.Set)
      */
     public void setArtifacts( Set set )
@@ -1361,7 +1273,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getArtifacts()
      */
     public Set getArtifacts()
@@ -1378,7 +1289,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getArtifactMap()
      */
     public Map getArtifactMap()
@@ -1388,7 +1298,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setPluginArtifacts(java.util.Set)
      */
     public void setPluginArtifacts( Set set )
@@ -1398,7 +1307,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getPluginArtifacts()
      */
     public Set getPluginArtifacts()
@@ -1408,7 +1316,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getPluginArtifactMap()
      */
     public Map getPluginArtifactMap()
@@ -1418,7 +1325,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setReportArtifacts(java.util.Set)
      */
     public void setReportArtifacts( Set set )
@@ -1428,7 +1334,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getReportArtifacts()
      */
     public Set getReportArtifacts()
@@ -1438,7 +1343,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getReportArtifactMap()
      */
     public Map getReportArtifactMap()
@@ -1448,7 +1352,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setExtensionArtifacts(java.util.Set)
      */
     public void setExtensionArtifacts( Set set )
@@ -1458,7 +1361,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getExtensionArtifacts()
      */
     public Set getExtensionArtifacts()
@@ -1468,7 +1370,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getExtensionArtifactMap()
      */
     public Map getExtensionArtifactMap()
@@ -1478,7 +1379,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setParentArtifact(org.apache.maven.artifact.Artifact)
      */
     public void setParentArtifact( Artifact artifact )
@@ -1488,12 +1388,11 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getParentArtifact()
      */
     public Artifact getParentArtifact()
     {
-        if (parent !=null)
+        if ( parent != null )
         {
             return parent.getArtifact();
         }
@@ -1504,7 +1403,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getRepositories()
      */
     public List getRepositories()
@@ -1514,7 +1412,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getReportPlugins()
      */
     public List getReportPlugins()
@@ -1524,7 +1421,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getBuildPlugins()
      */
     public List getBuildPlugins()
@@ -1534,7 +1430,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getModules()
      */
     public List getModules()
@@ -1544,7 +1439,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getPluginManagement()
      */
     public PluginManagement getPluginManagement()
@@ -1554,7 +1448,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addPlugin(org.apache.maven.model.Plugin)
      */
     public void addPlugin( Plugin plugin )
@@ -1564,7 +1457,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#injectPluginManagementInfo(org.apache.maven.model.Plugin)
      */
     public void injectPluginManagementInfo( Plugin plugin )
@@ -1574,7 +1466,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getCollectedProjects()
      */
     public List getCollectedProjects()
@@ -1584,7 +1475,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setCollectedProjects(java.util.List)
      */
     public void setCollectedProjects( List list )
@@ -1594,7 +1484,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setPluginArtifactRepositories(java.util.List)
      */
     public void setPluginArtifactRepositories( List list )
@@ -1604,7 +1493,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getPluginArtifactRepositories()
      */
     public List getPluginArtifactRepositories()
@@ -1614,7 +1502,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getDistributionManagementArtifactRepository()
      */
     public ArtifactRepository getDistributionManagementArtifactRepository()
@@ -1624,7 +1511,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getPluginRepositories()
      */
     public List getPluginRepositories()
@@ -1634,7 +1520,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setActiveProfiles(java.util.List)
      */
     public void setActiveProfiles( List list )
@@ -1644,7 +1529,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getActiveProfiles()
      */
     public List getActiveProfiles()
@@ -1654,7 +1538,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addAttachedArtifact(org.apache.maven.artifact.Artifact)
      */
     public void addAttachedArtifact( Artifact theArtifact )
@@ -1671,7 +1554,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getAttachedArtifacts()
      */
     public List getAttachedArtifacts()
@@ -1681,9 +1563,8 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getGoalConfiguration(java.lang.String, java.lang.String,
-     *      java.lang.String, java.lang.String)
+     * java.lang.String, java.lang.String)
      */
     public Xpp3Dom getGoalConfiguration( String string, String string1, String string2, String string3 )
     {
@@ -1692,9 +1573,8 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getReportConfiguration(java.lang.String, java.lang.String,
-     *      java.lang.String)
+     * java.lang.String)
      */
     public Xpp3Dom getReportConfiguration( String string, String string1, String string2 )
     {
@@ -1703,7 +1583,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getExecutionProject()
      */
     public MavenProject getExecutionProject()
@@ -1713,7 +1592,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setExecutionProject(org.apache.maven.project.MavenProject)
      */
     public void setExecutionProject( MavenProject mavenProject )
@@ -1723,29 +1601,24 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#writeModel(java.io.Writer)
      */
     public void writeModel( Writer writer )
-        throws IOException
     {
 
     }
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#writeOriginalModel(java.io.Writer)
      */
     public void writeOriginalModel( Writer writer )
-        throws IOException
     {
 
     }
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getDependencyArtifacts()
      */
     public Set getDependencyArtifacts()
@@ -1755,7 +1628,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setDependencyArtifacts(java.util.Set)
      */
     public void setDependencyArtifacts( Set set )
@@ -1765,8 +1637,8 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
-     * @see org.apache.maven.project.MavenProject#setReleaseArtifactRepository(org.apache.maven.artifact.repository.ArtifactRepository)
+     * @see org.apache.maven.project.MavenProject#setReleaseArtifactRepository(org.apache.maven.artifact.repository.
+     * ArtifactRepository)
      */
     public void setReleaseArtifactRepository( ArtifactRepository artifactRepository )
     {
@@ -1775,8 +1647,8 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
-     * @see org.apache.maven.project.MavenProject#setSnapshotArtifactRepository(org.apache.maven.artifact.repository.ArtifactRepository)
+     * @see org.apache.maven.project.MavenProject#setSnapshotArtifactRepository(org.apache.maven.artifact.repository.
+     * ArtifactRepository)
      */
     public void setSnapshotArtifactRepository( ArtifactRepository artifactRepository )
     {
@@ -1785,7 +1657,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setOriginalModel(org.apache.maven.model.Model)
      */
     public void setOriginalModel( Model model )
@@ -1795,7 +1666,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getOriginalModel()
      */
     public Model getOriginalModel()
@@ -1805,7 +1675,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getBuildExtensions()
      */
     public List getBuildExtensions()
@@ -1815,19 +1684,16 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#createArtifacts(org.apache.maven.artifact.factory.ArtifactFactory,
-     *      java.lang.String, org.apache.maven.artifact.resolver.filter.ArtifactFilter)
+     * java.lang.String, org.apache.maven.artifact.resolver.filter.ArtifactFilter)
      */
     public Set createArtifacts( ArtifactFactory artifactFactory, String string, ArtifactFilter artifactFilter )
-        throws InvalidDependencyVersionException
     {
         return Collections.EMPTY_SET;
     }
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#addProjectReference(org.apache.maven.project.MavenProject)
      */
     public void addProjectReference( MavenProject mavenProject )
@@ -1837,7 +1703,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#attachArtifact(java.lang.String, java.lang.String, java.io.File)
      */
     public void attachArtifact( String string, String string1, File theFile )
@@ -1847,7 +1712,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getProperties()
      */
     public Properties getProperties()
@@ -1868,7 +1732,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getFilters()
      */
     public List getFilters()
@@ -1878,7 +1741,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getProjectReferences()
      */
     public Map getProjectReferences()
@@ -1888,7 +1750,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#isExecutionRoot()
      */
     public boolean isExecutionRoot()
@@ -1898,7 +1759,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#setExecutionRoot(boolean)
      */
     public void setExecutionRoot( boolean b )
@@ -1908,7 +1768,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#getDefaultGoal()
      */
     public String getDefaultGoal()
@@ -1918,7 +1777,6 @@ public class MockProject
 
     /*
      * (non-Javadoc)
-     *
      * @see org.apache.maven.project.MavenProject#replaceWithActiveArtifact(org.apache.maven.artifact.Artifact)
      */
     public Artifact replaceWithActiveArtifact( Artifact theArtifact )
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/ReactorModuleConvergenceTest.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/ReactorModuleConvergenceTest.java
index 4b4d1cb..e9b43dd 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/ReactorModuleConvergenceTest.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/ReactorModuleConvergenceTest.java
@@ -27,8 +27,8 @@ import org.apache.maven.model.Dependency;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -37,6 +37,8 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
 /**
  * Check reactorModuleConvergence rule.
  * 
@@ -50,7 +52,7 @@ public class ReactorModuleConvergenceTest
 
     private ReactorModuleConvergence rule;
 
-    @Before
+    @BeforeEach
     public void before()
         throws ExpressionEvaluationException
     {
@@ -80,7 +82,7 @@ public class ReactorModuleConvergenceTest
 
     @Test
     public void shouldNotFailWithAValidProject()
-        throws EnforcerRuleException, ExpressionEvaluationException
+        throws EnforcerRuleException
     {
         MavenProject mp1 = createProjectParent();
         MavenProject mp2 = createProjectChild1( mp1 );
@@ -92,49 +94,55 @@ public class ReactorModuleConvergenceTest
         rule.execute( helper );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void shouldFailWithWrongVersionInOneChild()
-        throws EnforcerRuleException, ExpressionEvaluationException
     {
-        MavenProject mp1 = createProjectParent();
-        MavenProject mp2 = createProjectChild1( mp1 );
-        MavenProject mp3 = createProjectChild2WithWrongVersion( mp1 );
+        assertThrows( EnforcerRuleException.class, () -> {
+            MavenProject mp1 = createProjectParent();
+            MavenProject mp2 = createProjectChild1( mp1 );
+            MavenProject mp3 = createProjectChild2WithWrongVersion( mp1 );
 
-        List<MavenProject> theList = Arrays.asList( mp1, mp2, mp3 );
-        setupSortedProjects( theList );
+            List<MavenProject> theList = Arrays.asList( mp1, mp2, mp3 );
+            setupSortedProjects( theList );
 
-        rule.execute( helper );
+            rule.execute( helper );
+
+            // intentionally no assertTrue() cause we expect getting an exception.
+        } );
 
         // intentionally no assertTrue() cause we expect getting an exception.
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void shouldFailWithWrongParent()
-        throws EnforcerRuleException, ExpressionEvaluationException
     {
-        MavenProject mp1 = createProjectParent();
+        assertThrows( EnforcerRuleException.class, () -> {
+            MavenProject mp1 = createProjectParent();
 
-        MavenProject wrongParentVerison = mock( MavenProject.class );
-        when( wrongParentVerison.getGroupId() ).thenReturn( "org.apache.enforcer" );
-        when( wrongParentVerison.getArtifactId() ).thenReturn( "m1" );
-        when( wrongParentVerison.getVersion() ).thenReturn( "1.1-SNAPSHOT" );
-        when( wrongParentVerison.getId() ).thenReturn( "org.apache.enforcer:m1:jar:1.1-SNAPSHOT" );
-        when( wrongParentVerison.getDependencies() ).thenReturn( Collections.<Dependency>emptyList() );
+            MavenProject wrongParentVerison = mock( MavenProject.class );
+            when( wrongParentVerison.getGroupId() ).thenReturn( "org.apache.enforcer" );
+            when( wrongParentVerison.getArtifactId() ).thenReturn( "m1" );
+            when( wrongParentVerison.getVersion() ).thenReturn( "1.1-SNAPSHOT" );
+            when( wrongParentVerison.getId() ).thenReturn( "org.apache.enforcer:m1:jar:1.1-SNAPSHOT" );
+            when( wrongParentVerison.getDependencies() ).thenReturn( Collections.<Dependency>emptyList() );
 
-        MavenProject mp2 = createProjectChild2( wrongParentVerison );
-        MavenProject mp3 = createProjectChild2( mp1 );
+            MavenProject mp2 = createProjectChild2( wrongParentVerison );
+            MavenProject mp3 = createProjectChild2( mp1 );
 
-        List<MavenProject> theList = Arrays.asList( mp1, mp2, mp3 );
-        setupSortedProjects( theList );
+            List<MavenProject> theList = Arrays.asList( mp1, mp2, mp3 );
+            setupSortedProjects( theList );
 
-        rule.execute( helper );
+            rule.execute( helper );
+
+            // intentionally no assertTrue() cause we expect getting an exception.
+        } );
 
         // intentionally no assertTrue() cause we expect getting an exception.
     }
 
     @Test
     public void shouldNotFailWithACompanyParent()
-        throws EnforcerRuleException, ExpressionEvaluationException
+        throws EnforcerRuleException
     {
         MavenProject companyParent = createCompanyParent();
         MavenProject mp1 = createProjectParent( companyParent );
@@ -148,47 +156,51 @@ public class ReactorModuleConvergenceTest
         rule.execute( helper );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void shouldFailWithMissingParentsInReactory()
-        throws EnforcerRuleException, ExpressionEvaluationException
     {
-        MavenProject mp1 = createProjectParent();
-        MavenProject mp2 = createProjectChild1( mp1 );
-        MavenProject mp3 = createProjectChild2( null );
+        assertThrows( EnforcerRuleException.class, () -> {
+            MavenProject mp1 = createProjectParent();
+            MavenProject mp2 = createProjectChild1( mp1 );
+            MavenProject mp3 = createProjectChild2( null );
 
-        List<MavenProject> theList = Arrays.asList( mp1, mp2, mp3 );
-        setupSortedProjects( theList );
+            List<MavenProject> theList = Arrays.asList( mp1, mp2, mp3 );
+            setupSortedProjects( theList );
 
-        rule.execute( helper );
+            rule.execute( helper );
+        } );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void shouldFailWithAParentWhichIsNotPartOfTheReactory()
-        throws EnforcerRuleException, ExpressionEvaluationException
     {
-        MavenProject mp1 = createProjectParent();
+        assertThrows( EnforcerRuleException.class, () -> {
+            MavenProject mp1 = createProjectParent();
 
-        MavenProject wrongParentVerison = mock( MavenProject.class );
-        when( wrongParentVerison.getGroupId() ).thenReturn( "org.apache" );
-        when( wrongParentVerison.getArtifactId() ).thenReturn( "m1" );
-        when( wrongParentVerison.getVersion() ).thenReturn( "1.0-SNAPSHOT" );
-        when( wrongParentVerison.getId() ).thenReturn( "org.apache.enforcer:m1:jar:1.0-SNAPSHOT" );
-        when( wrongParentVerison.getDependencies() ).thenReturn( Collections.<Dependency>emptyList() );
+            MavenProject wrongParentVerison = mock( MavenProject.class );
+            when( wrongParentVerison.getGroupId() ).thenReturn( "org.apache" );
+            when( wrongParentVerison.getArtifactId() ).thenReturn( "m1" );
+            when( wrongParentVerison.getVersion() ).thenReturn( "1.0-SNAPSHOT" );
+            when( wrongParentVerison.getId() ).thenReturn( "org.apache.enforcer:m1:jar:1.0-SNAPSHOT" );
+            when( wrongParentVerison.getDependencies() ).thenReturn( Collections.<Dependency>emptyList() );
 
-        MavenProject mp2 = createProjectChild2( wrongParentVerison );
-        MavenProject mp3 = createProjectChild2( mp1 );
+            MavenProject mp2 = createProjectChild2( wrongParentVerison );
+            MavenProject mp3 = createProjectChild2( mp1 );
 
-        List<MavenProject> theList = Arrays.asList( mp1, mp2, mp3 );
-        setupSortedProjects( theList );
+            List<MavenProject> theList = Arrays.asList( mp1, mp2, mp3 );
+            setupSortedProjects( theList );
 
-        rule.execute( helper );
+            rule.execute( helper );
+
+            // intentionally no assertTrue() cause we expect getting an exception.
+        } );
 
         // intentionally no assertTrue() cause we expect getting an exception.
     }
 
     @Test
     public void shouldNotFailWithDependencyInReactory()
-        throws EnforcerRuleException, ExpressionEvaluationException
+        throws EnforcerRuleException
     {
         MavenProject mp1 = createProjectParent();
         MavenProject mp2 = createProjectChild1( mp1 );
@@ -208,25 +220,28 @@ public class ReactorModuleConvergenceTest
         rule.execute( helper );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void shouldFailWithWrongDependencyInReactor()
-        throws EnforcerRuleException, ExpressionEvaluationException
     {
-        MavenProject mp1 = createProjectParent();
-        MavenProject mp2 = createProjectChild1( mp1 );
+        assertThrows( EnforcerRuleException.class, () -> {
+            MavenProject mp1 = createProjectParent();
+            MavenProject mp2 = createProjectChild1( mp1 );
 
-        Dependency goodDependency = createDependency( "org.junit", "junit", "2.0" );
+            Dependency goodDependency = createDependency( "org.junit", "junit", "2.0" );
 
-        Dependency wrongDepFromReactor = createDependency( "org.apache.enforcer", "m2", "1.1-SNAPSHOT" );
-        List<Dependency> depList = Arrays.asList( goodDependency, wrongDepFromReactor );
-        when( mp2.getDependencies() ).thenReturn( depList );
+            Dependency wrongDepFromReactor = createDependency( "org.apache.enforcer", "m2", "1.1-SNAPSHOT" );
+            List<Dependency> depList = Arrays.asList( goodDependency, wrongDepFromReactor );
+            when( mp2.getDependencies() ).thenReturn( depList );
 
-        MavenProject mp3 = createProjectChild2( mp1 );
+            MavenProject mp3 = createProjectChild2( mp1 );
 
-        List<MavenProject> theList = Arrays.asList( mp1, mp2, mp3 );
-        setupSortedProjects( theList );
+            List<MavenProject> theList = Arrays.asList( mp1, mp2, mp3 );
+            setupSortedProjects( theList );
 
-        rule.execute( helper );
+            rule.execute( helper );
+
+            // intentionally no assertTrue() cause we expect getting an exception.
+        } );
 
         // intentionally no assertTrue() cause we expect getting an exception.
     }
@@ -255,7 +270,7 @@ public class ReactorModuleConvergenceTest
         when( mp2.getArtifactId() ).thenReturn( "m1" );
         when( mp2.getVersion() ).thenReturn( "1.1-SNAPSHOT" );
         when( mp2.getId() ).thenReturn( "org.apache.enforcer:m1:jar:1.1-SNAPSHOT" );
-        when( mp2.getDependencies() ).thenReturn( Collections.<Dependency>emptyList() );
+        when( mp2.getDependencies() ).thenReturn( Collections.emptyList() );
         return mp2;
     }
 
@@ -267,7 +282,7 @@ public class ReactorModuleConvergenceTest
         when( mp3.getArtifactId() ).thenReturn( "m2" );
         when( mp3.getVersion() ).thenReturn( "1.0-SNAPSHOT" );
         when( mp3.getId() ).thenReturn( "org.apache.enforcer:m2:jar:1.0-SNAPSHOT" );
-        when( mp3.getDependencies() ).thenReturn( Collections.<Dependency>emptyList() );
+        when( mp3.getDependencies() ).thenReturn( Collections.emptyList() );
         return mp3;
     }
 
@@ -279,7 +294,7 @@ public class ReactorModuleConvergenceTest
         when( mp2.getArtifactId() ).thenReturn( "m1" );
         when( mp2.getVersion() ).thenReturn( "1.0-SNAPSHOT" );
         when( mp2.getId() ).thenReturn( "org.apache.enforcer:m1:jar:1.0-SNAPSHOT" );
-        when( mp2.getDependencies() ).thenReturn( Collections.<Dependency>emptyList() );
+        when( mp2.getDependencies() ).thenReturn( Collections.emptyList() );
         return mp2;
     }
 
@@ -290,7 +305,7 @@ public class ReactorModuleConvergenceTest
         when( nonReactorParent.getArtifactId() ).thenReturn( "parent" );
         when( nonReactorParent.getVersion() ).thenReturn( "1.1" );
         when( nonReactorParent.getId() ).thenReturn( "org.apache.enforcer.parent:parent:jar:1.1" );
-        when( nonReactorParent.getDependencies() ).thenReturn( Collections.<Dependency>emptyList() );
+        when( nonReactorParent.getDependencies() ).thenReturn( Collections.emptyList() );
         return nonReactorParent;
     }
 
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireActiveProfileTest.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireActiveProfileTest.java
index 6fd9897..16e6576 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireActiveProfileTest.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireActiveProfileTest.java
@@ -28,11 +28,13 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 /**
  * Check the profile rule.
@@ -47,7 +49,7 @@ public class RequireActiveProfileTest
 
     private RequireActiveProfile rule;
 
-    @Before
+    @BeforeEach
     public void before()
         throws ExpressionEvaluationException
     {
@@ -80,28 +82,32 @@ public class RequireActiveProfileTest
         rule.execute( helper );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testNoActiveProfileButTheRuleRequestedAnActiveProfile()
-        throws EnforcerRuleException
     {
-        when( project.getInjectedProfileIds() ).thenReturn( Collections.<String, List<String>>emptyMap() );
+        assertThrows( EnforcerRuleException.class, () -> {
+            when( project.getInjectedProfileIds() ).thenReturn( Collections.<String, List<String>>emptyMap() );
 
-        rule.setProfiles( "profile-2" );
+            rule.setProfiles( "profile-2" );
 
-        rule.execute( helper );
+            rule.execute( helper );
+            // intentionally no assertTrue(...)
+        } );
         // intentionally no assertTrue(...)
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testNoActiveProfileButWeExpectToGetAnExceptionWithAll()
-        throws EnforcerRuleException
     {
-        when( project.getInjectedProfileIds() ).thenReturn( Collections.<String, List<String>>emptyMap() );
+        assertThrows( EnforcerRuleException.class, () -> {
+            when( project.getInjectedProfileIds() ).thenReturn( Collections.<String, List<String>>emptyMap() );
 
-        rule.setProfiles( "profile-2" );
-        rule.setAll( true );
+            rule.setProfiles( "profile-2" );
+            rule.setAll( true );
 
-        rule.execute( helper );
+            rule.execute( helper );
+            // intentionally no assertTrue(...)
+        } );
         // intentionally no assertTrue(...)
     }
 
@@ -124,7 +130,7 @@ public class RequireActiveProfileTest
         throws EnforcerRuleException
     {
         Map<String, List<String>> profiles =
-                        Collections.singletonMap( "pom", Arrays.asList( "profile-1", "profile-2" ) );
+            Collections.singletonMap( "pom", Arrays.asList( "profile-1", "profile-2" ) );
 
         when( project.getInjectedProfileIds() ).thenReturn( profiles );
 
@@ -134,44 +140,46 @@ public class RequireActiveProfileTest
         rule.execute( helper );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testTwoActiveProfilesWithTwoRequiredProfilesWhereOneOfThemIsNotPartOfTheActiveProfiles()
-        throws EnforcerRuleException, ExpressionEvaluationException
     {
-        Map<String, List<String>> profiles =
-                        Collections.singletonMap( "pom", Arrays.asList( "profile-X", "profile-Y" ) );
+        assertThrows( EnforcerRuleException.class, () -> {
+            Map<String, List<String>> profiles =
+                Collections.singletonMap( "pom", Arrays.asList( "profile-X", "profile-Y" ) );
 
-        when( project.getInjectedProfileIds() ).thenReturn( profiles );
+            when( project.getInjectedProfileIds() ).thenReturn( profiles );
 
-        rule.setProfiles( "profile-Z,profile-X" );
-        rule.setAll( true );
+            rule.setProfiles( "profile-Z,profile-X" );
+            rule.setAll( true );
 
-        rule.execute( helper );
+            rule.execute( helper );
+            // intentionally no assertTrue(..)
+        } );
         // intentionally no assertTrue(..)
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testOneActiveProfilesWithTwoRequiredProfiles()
-        throws EnforcerRuleException, ExpressionEvaluationException
     {
-        Map<String, List<String>> profiles =
-                        Collections.singletonMap( "pom", Arrays.asList( "profile-X" ) );
+        assertThrows( EnforcerRuleException.class, () -> {
+            Map<String, List<String>> profiles = Collections.singletonMap( "pom", Arrays.asList( "profile-X" ) );
 
-        when( project.getInjectedProfileIds() ).thenReturn( profiles );
+            when( project.getInjectedProfileIds() ).thenReturn( profiles );
 
-        rule.setProfiles( "profile-X,profile-Y" );
-        rule.setAll( true );
+            rule.setProfiles( "profile-X,profile-Y" );
+            rule.setAll( true );
 
-        rule.execute( helper );
+            rule.execute( helper );
+            // intentionally no assertTrue(..)
+        } );
         // intentionally no assertTrue(..)
     }
 
     @Test
     public void testOneActiveProfileWithTwoProfilesButNotAll()
-        throws EnforcerRuleException, ExpressionEvaluationException
+        throws EnforcerRuleException
     {
-        Map<String, List<String>> profiles =
-                        Collections.singletonMap( "pom", Arrays.asList( "profile-X" ) );
+        Map<String, List<String>> profiles = Collections.singletonMap( "pom", Arrays.asList( "profile-X" ) );
 
         when( project.getInjectedProfileIds() ).thenReturn( profiles );
 
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequirePrerequisiteTest.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequirePrerequisiteTest.java
index dec1d73..78be3d3 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequirePrerequisiteTest.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequirePrerequisiteTest.java
@@ -26,13 +26,15 @@ import static org.mockito.Mockito.when;
 import java.util.Collections;
 
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.model.Prerequisites;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 public class RequirePrerequisiteTest
 {
@@ -40,7 +42,7 @@ public class RequirePrerequisiteTest
 
     private EnforcerRuleHelper helper;
 
-    @Before
+    @BeforeEach
     public void before()
         throws ExpressionEvaluationException
     {
@@ -51,12 +53,13 @@ public class RequirePrerequisiteTest
         when( helper.evaluate( "${project}" ) ).thenReturn( project );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testNoPrerequisite()
-        throws Exception
     {
-        RequirePrerequisite rule = new RequirePrerequisite();
-        rule.execute( helper );
+        assertThrows( EnforcerRuleException.class, () -> {
+            RequirePrerequisite rule = new RequirePrerequisite();
+            rule.execute( helper );
+        } );
     }
 
     @Test
@@ -69,41 +72,44 @@ public class RequirePrerequisiteTest
         rule.execute( helper );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testLowerMavenPrerequisite()
-        throws Exception
     {
-        when( project.getPrerequisites() ).thenReturn( new Prerequisites() );
+        assertThrows( EnforcerRuleException.class, () -> {
+            when( project.getPrerequisites() ).thenReturn( new Prerequisites() );
 
-        RequirePrerequisite rule = new RequirePrerequisite();
-        rule.setMavenVersion( "3.0" );
-        rule.execute( helper );
+            RequirePrerequisite rule = new RequirePrerequisite();
+            rule.setMavenVersion( "3.0" );
+            rule.execute( helper );
+        } );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testLowerMavenRangePrerequisite()
-        throws Exception
     {
-        when( project.getPrerequisites() ).thenReturn( new Prerequisites() );
+        assertThrows( EnforcerRuleException.class, () -> {
+            when( project.getPrerequisites() ).thenReturn( new Prerequisites() );
 
-        RequirePrerequisite rule = new RequirePrerequisite();
-        rule.setMavenVersion( "[3.0,)" );
+            RequirePrerequisite rule = new RequirePrerequisite();
+            rule.setMavenVersion( "[3.0,)" );
 
-        rule.execute( helper );
+            rule.execute( helper );
+        } );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testMavenRangesPrerequisite()
-        throws Exception
     {
-        Prerequisites prerequisites = new Prerequisites();
-        prerequisites.setMaven( "2.2.0" );
-        when( project.getPrerequisites() ).thenReturn( prerequisites );
+        assertThrows( EnforcerRuleException.class, () -> {
+            Prerequisites prerequisites = new Prerequisites();
+            prerequisites.setMaven( "2.2.0" );
+            when( project.getPrerequisites() ).thenReturn( prerequisites );
 
-        RequirePrerequisite rule = new RequirePrerequisite();
-        rule.setMavenVersion( "[2.0.6,2.1.0),(2.1.0,2.2.0),(2.2.0,)" );
+            RequirePrerequisite rule = new RequirePrerequisite();
+            rule.setMavenVersion( "[2.0.6,2.1.0),(2.1.0,2.2.0),(2.2.0,)" );
 
-        rule.execute( helper );
+            rule.execute( helper );
+        } );
     }
 
     @Test
@@ -135,15 +141,16 @@ public class RequirePrerequisiteTest
         verify( log ).debug( "Packaging is pom, skipping requirePrerequisite rule" );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testMatchingPackagings()
-        throws Exception
     {
-        when( project.getPackaging() ).thenReturn( "maven-plugin" );
+        assertThrows( EnforcerRuleException.class, () -> {
+            when( project.getPackaging() ).thenReturn( "maven-plugin" );
 
-        RequirePrerequisite rule = new RequirePrerequisite();
-        rule.setPackagings( Collections.singletonList( "maven-plugin" ) );
-        rule.execute( helper );
+            RequirePrerequisite rule = new RequirePrerequisite();
+            rule.setPackagings( Collections.singletonList( "maven-plugin" ) );
+            rule.execute( helper );
+        } );
     }
 
     @Test
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDepsTest.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDepsTest.java
index 4da067a..f519ae1 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDepsTest.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDepsTest.java
@@ -1,7 +1,5 @@
 package org.apache.maven.plugins.enforcer;
 
-import org.junit.Assert;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -21,7 +19,7 @@ import org.junit.Assert;
  * under the License.
  */
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.IOException;
 
@@ -31,12 +29,14 @@ import org.apache.maven.plugin.testing.ArtifactStubFactory;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsString;
+import static org.junit.jupiter.api.Assertions.fail;
 
 public class RequireUpperBoundDepsTest
 {
 
     @Test
-    public void testRule() throws IOException
+    public void testRule()
+        throws IOException
     {
         ArtifactStubFactory factory = new ArtifactStubFactory();
         MockProject project = new MockProject();
@@ -45,11 +45,13 @@ public class RequireUpperBoundDepsTest
         project.setDependencyArtifacts( factory.getScopedArtifacts() );
         RequireUpperBoundDeps rule = new RequireUpperBoundDeps();
 
-        try {
-          rule.execute( helper );
-          Assert.fail("Did not detect upper bounds error");
+        try
+        {
+            rule.execute( helper );
+            fail( "Did not detect upper bounds error" );
         }
-        catch ( EnforcerRuleException ex ) {
+        catch ( EnforcerRuleException ex )
+        {
             assertThat( ex.getMessage(), containsString( "groupId:artifactId:version:classifier" ) );
         }
     }
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAbstractVersionEnforcer.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAbstractVersionEnforcer.java
index 7c19d1a..27660f2 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAbstractVersionEnforcer.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAbstractVersionEnforcer.java
@@ -19,9 +19,7 @@ package org.apache.maven.plugins.enforcer;
  * under the License.
  */
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.*;
 
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
@@ -30,7 +28,7 @@ import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.plugin.logging.SystemStreamLog;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * The Class TestAbstractVersionEnforcer.
@@ -51,41 +49,54 @@ public class TestAbstractVersionEnforcer
     {
         ArtifactVersion version = new DefaultArtifactVersion( "2.0.5" );
         // test ranges
-        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.5,)" ), version ) );
-        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.4,)" ), version ) );
+        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.5,)" ),
+                                                             version ) );
+        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.4,)" ),
+                                                             version ) );
         assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.4,2.0.5]" ),
                                                              version ) );
         assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.4,2.0.6]" ),
                                                              version ) );
         assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.4,2.0.6)" ),
                                                              version ) );
-        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0,)" ), version ) );
-        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.0,)" ), version ) );
+        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0,)" ),
+                                                             version ) );
+        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.0,)" ),
+                                                             version ) );
         // not matching versions
         assertFalse( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.4,2.0.5)" ),
                                                               version ) );
-        assertFalse( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.6,)" ), version ) );
-        assertFalse( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "(2.0.5,)" ), version ) );
+        assertFalse( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.0.6,)" ),
+                                                              version ) );
+        assertFalse( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "(2.0.5,)" ),
+                                                              version ) );
 
         // test singular versions -> 2.0.5 == [2.0.5,) or x >= 2.0.5
         assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "2.0" ), version ) );
         assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "2.0.4" ), version ) );
         assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "2.0.5" ), version ) );
 
-        assertFalse( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "2.0.6" ), version ) );
+        assertFalse( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "2.0.6" ),
+                                                              version ) );
 
         version = new DefaultArtifactVersion( "1.5.0-7" );
-        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[1.5.0,)" ), version ) );
-        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[1.5,1.6)" ), version ) );
+        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[1.5.0,)" ),
+                                                             version ) );
+        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[1.5,1.6)" ),
+                                                             version ) );
 
         version = new DefaultArtifactVersion( RequireJavaVersion.normalizeJDKVersion( "1.5.0-07" ) );
-        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[1.5.0,)" ), version ) );
-        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[1.5,1.6)" ), version ) );
+        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[1.5.0,)" ),
+                                                             version ) );
+        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[1.5,1.6)" ),
+                                                             version ) );
 
-        //MENFORCER-50
-        version = new DefaultArtifactVersion ("2.1.0-M1-RC12");
-        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.1.0-M1-RC12,)" ), version ) );
-        assertFalse( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.1.0-M1,)" ), version ) );
+        // MENFORCER-50
+        version = new DefaultArtifactVersion( "2.1.0-M1-RC12" );
+        assertTrue( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.1.0-M1-RC12,)" ),
+                                                             version ) );
+        assertFalse( AbstractVersionEnforcer.containsVersion( VersionRange.createFromVersionSpec( "[2.1.0-M1,)" ),
+                                                              version ) );
 
     }
 
@@ -98,7 +109,8 @@ public class TestAbstractVersionEnforcer
      * @param range the range
      * @param version the version
      */
-    private void enforceFalse( AbstractVersionEnforcer rule, Log log, String var, String range, ArtifactVersion version )
+    private void enforceFalse( AbstractVersionEnforcer rule, Log log, String var, String range,
+                               ArtifactVersion version )
     {
         try
         {
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAlwaysFail.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAlwaysFail.java
index 158c079..fdf1cad 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAlwaysFail.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAlwaysFail.java
@@ -19,14 +19,15 @@ package org.apache.maven.plugins.enforcer;
  * under the License.
  */
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test AlwaysFail rule.
+ * 
  * @author Ben Lidgey
  * @see AlwaysFail
  */
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAlwaysPass.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAlwaysPass.java
index 93ef038..62a2150 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAlwaysPass.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestAlwaysPass.java
@@ -20,17 +20,19 @@ package org.apache.maven.plugins.enforcer;
  */
 
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test AlwaysPass rule.
+ * 
  * @author Ben Lidgey
  * @see AlwaysPass
  */
 public class TestAlwaysPass
 {
     @Test
-    public void testExecute() throws EnforcerRuleException
+    public void testExecute()
+        throws EnforcerRuleException
     {
         AlwaysPass rule = new AlwaysPass();
         rule.execute( EnforcerTestUtils.getHelper() );
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedDependencies.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedDependencies.java
index 06f2b55..87136ec 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedDependencies.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedDependencies.java
@@ -22,17 +22,16 @@ package org.apache.maven.plugins.enforcer;
 import java.io.IOException;
 
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.runners.Enclosed;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 /**
  * The Class TestBannedDependencies.
- * 
+ *
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
  */
-@RunWith( Enclosed.class )
 public class TestBannedDependencies
 {
 
@@ -40,7 +39,7 @@ public class TestBannedDependencies
     {
         private BannedDependenciesTestSetup setup;
 
-        @Before
+        @BeforeEach
         public void beforeMethod()
             throws IOException
         {
@@ -82,7 +81,7 @@ public class TestBannedDependencies
 
         private BannedDependenciesTestSetup setup;
 
-        @Before
+        @BeforeEach
         public void beforeMethod()
             throws IOException
         {
@@ -96,46 +95,52 @@ public class TestBannedDependencies
             this.setup.addExcludeAndRunRule( toAdd );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void testGroupIdArtifactIdVersion()
-            throws Exception
         {
-            addExcludeAndRunRule( "testGroupId:release:1.0" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "testGroupId:release:1.0" );
+            } );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void testGroupIdArtifactId()
-            throws Exception
         {
-            addExcludeAndRunRule( "testGroupId:release" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "testGroupId:release" );
+            } );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void testGroupId()
-            throws Exception
         {
-            addExcludeAndRunRule( "testGroupId" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "testGroupId" );
+            } );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void testSpaceTrimmingGroupIdArtifactIdVersion()
-            throws Exception
         {
-            addExcludeAndRunRule( "  testGroupId  :  release   :   1.0    " );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "  testGroupId  :  release   :   1.0    " );
+            } );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void groupIdArtifactIdVersionType()
-            throws Exception
         {
-            addExcludeAndRunRule( "g:a:1.0:war" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "g:a:1.0:war" );
+            } );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void groupIdArtifactIdVersionTypeScope()
-            throws Exception
         {
-            addExcludeAndRunRule( "g:a:1.0:war:compile" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "g:a:1.0:war:compile" );
+            } );
         }
 
         // @Test(expected = EnforcerRuleException.class)
@@ -150,7 +155,7 @@ public class TestBannedDependencies
 
         private BannedDependenciesTestSetup setup;
 
-        @Before
+        @BeforeEach
         public void beforeMethod()
             throws IOException
         {
@@ -171,25 +176,28 @@ public class TestBannedDependencies
             addExcludeAndRunRule( "*:release:1.2" );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void testWildCardForGroupIdArtifactId()
-            throws Exception
         {
-            addExcludeAndRunRule( "*:release" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "*:release" );
+            } );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void testWildcardForGroupIdWildcardForArtifactIdVersion()
-            throws Exception
         {
-            addExcludeAndRunRule( "*:*:1.0" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "*:*:1.0" );
+            } );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void testWildcardForGroupIdArtifactIdWildcardForVersion()
-            throws Exception
         {
-            addExcludeAndRunRule( "*:release:*" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "*:release:*" );
+            } );
         }
 
     }
@@ -199,7 +207,7 @@ public class TestBannedDependencies
 
         private BannedDependenciesTestSetup setup;
 
-        @Before
+        @BeforeEach
         public void beforeMethod()
             throws IOException
         {
@@ -213,25 +221,28 @@ public class TestBannedDependencies
             this.setup.addExcludeAndRunRule( toAdd );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void groupIdArtifactIdWithWildcard()
-            throws EnforcerRuleException
         {
-            addExcludeAndRunRule( "testGroupId:re*" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "testGroupId:re*" );
+            } );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void groupIdArtifactIdVersionTypeWildcardScope()
-            throws EnforcerRuleException
         {
-            addExcludeAndRunRule( "g:a:1.0:war:co*" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "g:a:1.0:war:co*" );
+            } );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void groupIdArtifactIdVersionWildcardTypeScope()
-            throws EnforcerRuleException
         {
-            addExcludeAndRunRule( "g:a:1.0:w*:compile" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addExcludeAndRunRule( "g:a:1.0:w*:compile" );
+            } );
         }
     }
 
@@ -239,7 +250,7 @@ public class TestBannedDependencies
     {
         private BannedDependenciesTestSetup setup;
 
-        @Before
+        @BeforeEach
         public void beforeMethod()
             throws IOException
         {
@@ -253,18 +264,20 @@ public class TestBannedDependencies
             this.setup.addExcludeAndRunRule( toAdd );
         }
 
-        @Test( expected = IllegalArgumentException.class )
+        @Test
         public void onlyThreeColonsWithoutAnythingElse()
-            throws EnforcerRuleException
         {
-            addExcludeAndRunRule( ":::" );
+            assertThrows( IllegalArgumentException.class, () -> {
+                addExcludeAndRunRule( ":::" );
+            } );
         }
 
-        @Test( expected = IllegalArgumentException.class )
+        @Test
         public void onlySevenColonsWithoutAnythingElse()
-            throws EnforcerRuleException
         {
-            addExcludeAndRunRule( ":::::::" );
+            assertThrows( IllegalArgumentException.class, () -> {
+                addExcludeAndRunRule( ":::::::" );
+            } );
         }
 
     }
@@ -273,7 +286,7 @@ public class TestBannedDependencies
     {
         private BannedDependenciesTestSetup setup;
 
-        @Before
+        @BeforeEach
         public void beforeMethod()
             throws IOException
         {
@@ -301,11 +314,12 @@ public class TestBannedDependencies
             addIncludeExcludeAndRunRule( "*", "*:runtime" );
         }
 
-        @Test( expected = EnforcerRuleException.class )
+        @Test
         public void includeEverythingAndExcludeEveryGroupIdAndScopeRuntimeYYYY()
-            throws EnforcerRuleException
         {
-            addIncludeExcludeAndRunRule( "*:test", "*:runtime" );
+            assertThrows( EnforcerRuleException.class, () -> {
+                addIncludeExcludeAndRunRule( "*:test", "*:runtime" );
+            } );
         }
     }
 
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedRepositories.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedRepositories.java
index 7dcca42..6c8b243 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedRepositories.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedRepositories.java
@@ -26,10 +26,11 @@ import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.MavenArtifactRepository;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.fail;
 
-import static org.junit.Assert.fail;
 /**
  * Test the "banned repositories" rule.
  * 
@@ -43,9 +44,8 @@ public class TestBannedRepositories
 
     private MockProject project;
 
-    @Before
+    @BeforeEach
     public void setUp()
-        throws Exception
     {
         rule = new BannedRepositories();
         rule.setMessage( "my message" );
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestEvaluateBeanshell.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestEvaluateBeanshell.java
index 62c6528..2ddad53 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestEvaluateBeanshell.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestEvaluateBeanshell.java
@@ -19,11 +19,12 @@ package org.apache.maven.plugins.enforcer;
  * under the License.
  */
 
-import junit.framework.TestCase;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -33,7 +34,9 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
-import static org.mockito.Mockito.*;
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 /**
  * The Class TestEvaluateBeanshell.
@@ -41,10 +44,10 @@ import static org.mockito.Mockito.*;
  * @author hugonnem
  */
 public class TestEvaluateBeanshell
-    extends TestCase
 {
     private MockProject project;
 
+    @BeforeEach
     public void setUp()
     {
         project = new MockProject();
@@ -53,8 +56,8 @@ public class TestEvaluateBeanshell
 
     /**
      * Test rule.
-     * 
      */
+    @Test
     public void testRulePass()
         throws Exception
     {
@@ -67,8 +70,8 @@ public class TestEvaluateBeanshell
         rule.execute( helper );
     }
 
+    @Test
     public void testRuleFail()
-        throws Exception
     {
         EvaluateBeanshell rule = new EvaluateBeanshell();
         // this property should be set by the surefire
@@ -88,8 +91,8 @@ public class TestEvaluateBeanshell
         }
     }
 
+    @Test
     public void testRuleFailNoMessage()
-        throws Exception
     {
         EvaluateBeanshell rule = new EvaluateBeanshell();
         // this property should be set by the surefire
@@ -108,6 +111,7 @@ public class TestEvaluateBeanshell
         }
     }
 
+    @Test
     public void testRuleInvalidExpression()
         throws Exception
     {
@@ -125,12 +129,12 @@ public class TestEvaluateBeanshell
         }
         catch ( EnforcerRuleException e )
         {
-            assertFalse( e.getLocalizedMessage().equals( rule.getMessage() ) );
+            assertNotEquals( e.getLocalizedMessage(), rule.getMessage() );
         }
     }
 
+    @Test
     public void testRuleInvalidBeanshell()
-        throws Exception
     {
         EvaluateBeanshell rule = new EvaluateBeanshell();
         rule.setCondition( "this is not valid beanshell" );
@@ -143,114 +147,127 @@ public class TestEvaluateBeanshell
         }
         catch ( EnforcerRuleException e )
         {
-            assertFalse( e.getLocalizedMessage().equals( rule.getMessage() ) );
+            assertNotEquals( e.getLocalizedMessage(), rule.getMessage() );
         }
     }
 
-
-    public void testRuleCanExecuteMultipleThreads() throws Exception {
-        final String condition = "String property1 = \"${property1}\";\n" +
-                "(property1.equals(\"prop0\") && \"${property2}\".equals(\"prop0\"))\n" +
-                "|| (property1.equals(\"prop1\") && \"${property2}\".equals(\"prop1\"))\n" +
-                "|| (property1.equals(\"prop2\") && \"${property2}\".equals(\"prop2\"))\n";
+    @Test
+    public void testRuleCanExecuteMultipleThreads()
+        throws Exception
+    {
+        final String condition = "String property1 = \"${property1}\";\n"
+            + "(property1.equals(\"prop0\") && \"${property2}\".equals(\"prop0\"))\n"
+            + "|| (property1.equals(\"prop1\") && \"${property2}\".equals(\"prop1\"))\n"
+            + "|| (property1.equals(\"prop2\") && \"${property2}\".equals(\"prop2\"))\n";
 
         final List<Runnable> runnables = new ArrayList<>();
 
-        runnables.add(new Runnable() {
-            @Override
-            public void run() {
-                final int threadNumber = 0;
-                MockProject multiProject = new MockProject();
-                multiProject.setProperty("property1", "prop" + threadNumber);
-                multiProject.setProperty("property2", "prop" + threadNumber);
+        runnables.add( () -> {
+            final int threadNumber = 0;
+            MockProject multiProject = new MockProject();
+            multiProject.setProperty( "property1", "prop" + threadNumber );
+            multiProject.setProperty( "property2", "prop" + threadNumber );
 
-                EvaluateBeanshell rule = new EvaluateBeanshell();
-                rule.setCondition(condition);
-                rule.setMessage("Race condition in thread " + threadNumber);
-                EnforcerRuleHelper helper = EnforcerTestUtils.getHelper(multiProject);
-                try {
-                    rule.execute(helper);
+            EvaluateBeanshell rule = new EvaluateBeanshell();
+            rule.setCondition( condition );
+            rule.setMessage( "Race condition in thread " + threadNumber );
+            EnforcerRuleHelper helper = EnforcerTestUtils.getHelper( multiProject );
+            try
+            {
+                rule.execute( helper );
 
-                } catch (EnforcerRuleException e) {
-                    throw new RuntimeException(e);
-                }
             }
-        });
-        runnables.add(new Runnable() {
-            @Override
-            public void run() {
-                final int threadNumber = 1;
-                MockProject multiProject = new MockProject();
-                multiProject.setProperty("property1", "prop" + threadNumber);
-                multiProject.setProperty("property2", "prop" + threadNumber);
-
-                EvaluateBeanshell rule = new EvaluateBeanshell();
-                rule.setCondition(condition);
-                rule.setMessage("Race condition in thread " + threadNumber);
-                EnforcerRuleHelper helper = EnforcerTestUtils.getHelper(multiProject);
-                try {
-                    rule.execute(helper);
+            catch ( EnforcerRuleException e )
+            {
+                throw new RuntimeException( e );
+            }
+        } );
+        runnables.add( () -> {
+            final int threadNumber = 1;
+            MockProject multiProject = new MockProject();
+            multiProject.setProperty( "property1", "prop" + threadNumber );
+            multiProject.setProperty( "property2", "prop" + threadNumber );
 
-                } catch (EnforcerRuleException e) {
-                    throw new RuntimeException(e);
-                }
+            EvaluateBeanshell rule = new EvaluateBeanshell();
+            rule.setCondition( condition );
+            rule.setMessage( "Race condition in thread " + threadNumber );
+            EnforcerRuleHelper helper = EnforcerTestUtils.getHelper( multiProject );
+            try
+            {
+                rule.execute( helper );
 
             }
-        });
-        runnables.add(new Runnable() {
-            @Override
-            public void run() {
-                final int threadNumber = 2;
-                MockProject multiProject = new MockProject();
-                multiProject.setProperty("property1", "prop" + threadNumber);
-                multiProject.setProperty("property2", "prop" + threadNumber);
+            catch ( EnforcerRuleException e )
+            {
+                throw new RuntimeException( e );
+            }
 
-                EvaluateBeanshell rule = new EvaluateBeanshell();
-                rule.setCondition(condition);
-                rule.setMessage("Race condition in thread " + threadNumber);
-                EnforcerRuleHelper helper = EnforcerTestUtils.getHelper(multiProject);
-                try {
-                    rule.execute(helper);
-                } catch (EnforcerRuleException e) {
-                    throw new RuntimeException(e);
-                }
+        } );
+        runnables.add( () -> {
+            final int threadNumber = 2;
+            MockProject multiProject = new MockProject();
+            multiProject.setProperty( "property1", "prop" + threadNumber );
+            multiProject.setProperty( "property2", "prop" + threadNumber );
+
+            EvaluateBeanshell rule = new EvaluateBeanshell();
+            rule.setCondition( condition );
+            rule.setMessage( "Race condition in thread " + threadNumber );
+            EnforcerRuleHelper helper = EnforcerTestUtils.getHelper( multiProject );
+            try
+            {
+                rule.execute( helper );
+            }
+            catch ( EnforcerRuleException e )
+            {
+                throw new RuntimeException( e );
             }
-        });
+        } );
 
-        assertConcurrent( runnables, 4);
+        assertConcurrent( runnables, 4 );
     }
 
-    private static void assertConcurrent(final List<? extends Runnable> runnables, final int maxTimeoutSeconds) throws InterruptedException {
+    private static void assertConcurrent( final List<? extends Runnable> runnables, final int maxTimeoutSeconds )
+        throws InterruptedException
+    {
         final int numThreads = runnables.size();
-        final List<Throwable> exceptions = Collections.synchronizedList(new ArrayList<Throwable>());
-        final ExecutorService threadPool = Executors.newFixedThreadPool(numThreads);
-        try {
-            final CountDownLatch allExecutorThreadsReady = new CountDownLatch(numThreads);
-            final CountDownLatch afterInitBlocker = new CountDownLatch(1);
-            final CountDownLatch allDone = new CountDownLatch(numThreads);
-            for (final Runnable submittedTestRunnable : runnables) {
-                threadPool.submit(new Runnable() {
-                    public void run() {
-                        allExecutorThreadsReady.countDown();
-                        try {
-                            afterInitBlocker.await();
-                            submittedTestRunnable.run();
-                        } catch (final Throwable e) {
-                            exceptions.add(e);
-                        } finally {
-                            allDone.countDown();
-                        }
+        final List<Throwable> exceptions = Collections.synchronizedList( new ArrayList<>() );
+        final ExecutorService threadPool = Executors.newFixedThreadPool( numThreads );
+        try
+        {
+            final CountDownLatch allExecutorThreadsReady = new CountDownLatch( numThreads );
+            final CountDownLatch afterInitBlocker = new CountDownLatch( 1 );
+            final CountDownLatch allDone = new CountDownLatch( numThreads );
+            for ( final Runnable submittedTestRunnable : runnables )
+            {
+                threadPool.submit( () -> {
+                    allExecutorThreadsReady.countDown();
+                    try
+                    {
+                        afterInitBlocker.await();
+                        submittedTestRunnable.run();
                     }
-                });
+                    catch ( final Throwable e )
+                    {
+                        exceptions.add( e );
+                    }
+                    finally
+                    {
+                        allDone.countDown();
+                    }
+                } );
             }
             // wait until all threads are ready
-            assertTrue("Timeout initializing threads! Perform long lasting initializations before passing runnables to assertConcurrent", allExecutorThreadsReady.await(runnables.size() * 10, TimeUnit.MILLISECONDS));
+            assertTrue( allExecutorThreadsReady.await( runnables.size() * 10, TimeUnit.MILLISECONDS ),
+                        "Timeout initializing threads! Perform long lasting initializations before passing runnables to assertConcurrent" );
             // start all test runners
             afterInitBlocker.countDown();
-            assertTrue("Timeout! More than" + maxTimeoutSeconds + "seconds", allDone.await(maxTimeoutSeconds, TimeUnit.SECONDS));
-        } finally {
+            assertTrue( allDone.await( maxTimeoutSeconds, TimeUnit.SECONDS ),
+                        "Timeout! More than" + maxTimeoutSeconds + "seconds" );
+        }
+        finally
+        {
             threadPool.shutdownNow();
         }
-        assertTrue("Failed with exception(s)" + exceptions, exceptions.isEmpty());
+        assertTrue( exceptions.isEmpty(), "Failed with exception(s)" + exceptions );
     }
 }
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestMavenVersion.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestMavenVersion.java
index e54c5df..6550a47 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestMavenVersion.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestMavenVersion.java
@@ -24,11 +24,11 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 
 import org.apache.maven.execution.MavenSession;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.util.Properties;
 
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.fail;
 
 /**
  * The Class TestMavenVersion.
@@ -81,7 +81,8 @@ public class TestMavenVersion
      * @throws EnforcerRuleException the enforcer rule exception
      */
     @Test
-    public void checkRequireVersionMatrix() throws EnforcerRuleException, ExpressionEvaluationException
+    public void checkRequireVersionMatrix()
+        throws EnforcerRuleException, ExpressionEvaluationException
     {
         RequireMavenVersion rule = new RequireMavenVersion();
 
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireEnvironmentVariable.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireEnvironmentVariable.java
index 1dc73a5..81475ca 100755
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireEnvironmentVariable.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireEnvironmentVariable.java
@@ -19,11 +19,11 @@ package org.apache.maven.plugins.enforcer;
  * under the License.
  */
 
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Unit test for {@link RequireEnvironmentVariable}}
@@ -36,11 +36,9 @@ public class TestRequireEnvironmentVariable
     /**
      * Test rule.
      *
-     * @throws EnforcerRuleException the enforcer rule exception
      */
     @Test
     public void testRule()
-        throws EnforcerRuleException
     {
         MockProject project = new MockProject();
         project.setProperty( "testProp", "This is a test." );
@@ -75,11 +73,9 @@ public class TestRequireEnvironmentVariable
     /**
      * Test rule with regex.
      *
-     * @throws EnforcerRuleException the enforcer rule exception
      */
     @Test
     public void testRuleWithRegex()
-        throws EnforcerRuleException
     {
         EnforcerRuleHelper helper = EnforcerTestUtils.getHelper();
 
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFileChecksum.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFileChecksum.java
index c7075ce..76f7edb 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFileChecksum.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFileChecksum.java
@@ -23,11 +23,13 @@ import java.io.File;
 import java.io.IOException;
 
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import org.codehaus.plexus.util.FileUtils;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 
 /**
  * Test the "RequireFileChecksum" rule
@@ -39,17 +41,14 @@ public class TestRequireFileChecksum
 
     private RequireFileChecksum rule = new RequireFileChecksum();
 
-    @Rule
-    public TemporaryFolder temporaryFolder = new TemporaryFolder();
-
-    @Rule
-    public ExpectedException expectedException = ExpectedException.none();
+    @TempDir
+    public File temporaryFolder;
 
     @Test
     public void testFileChecksumMd5()
         throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
+        File f = File.createTempFile( "junit", null, temporaryFolder );
         FileUtils.fileWrite( f, "message" );
 
         rule.setFile( f );
@@ -63,7 +62,7 @@ public class TestRequireFileChecksum
     public void testFileChecksumMd5UpperCase()
         throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
+        File f = File.createTempFile( "junit", null, temporaryFolder );
         FileUtils.fileWrite( f, "message" );
 
         rule.setFile( f );
@@ -75,44 +74,42 @@ public class TestRequireFileChecksum
 
     @Test
     public void testFileChecksumMd5GivenFileDoesNotExistFailure()
-        throws IOException, EnforcerRuleException
     {
         File f = new File( "nonExistent" );
+        Throwable exception = assertThrows( EnforcerRuleException.class, () -> {
 
-        expectedException.expect( EnforcerRuleException.class );
-        expectedException.expectMessage( "File does not exist: " + f.getAbsolutePath() );
-
-        rule.setFile( f );
-        rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
-        rule.setType( "md5" );
+            rule.setFile( f );
+            rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
+            rule.setType( "md5" );
 
-        rule.execute( EnforcerTestUtils.getHelper() );
+            rule.execute( EnforcerTestUtils.getHelper() );
+        } );
+        assertTrue( exception.getMessage().contains( "File does not exist: " + f.getAbsolutePath() ) );
     }
 
     @Test
     public void testFileChecksumMd5GivenFileDoesNotExistFailureWithMessage()
-        throws IOException, EnforcerRuleException
     {
         File f = new File( "nonExistent" );
         String configuredMessage = "testMessageFileDoesNotExist";
+        Throwable exception = assertThrows( EnforcerRuleException.class, () -> {
 
-        expectedException.expect( EnforcerRuleException.class );
-        expectedException.expectMessage( configuredMessage );
-
-        rule.setFile( f );
-        rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
-        rule.setType( "md5" );
-        rule.setNonexistentFileMessage( configuredMessage );
+            rule.setFile( f );
+            rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
+            rule.setType( "md5" );
+            rule.setNonexistentFileMessage( configuredMessage );
 
-        rule.execute( EnforcerTestUtils.getHelper() );
+            rule.execute( EnforcerTestUtils.getHelper() );
+        } );
+        assertTrue( exception.getMessage().contains( configuredMessage ) );
     }
 
     @Test
     public void testFileChecksumMd5GivenFileIsNotReadableFailure()
-        throws IOException, EnforcerRuleException
+        throws IOException
     {
-        File f = temporaryFolder.newFile();
-        f = new File( f.getAbsolutePath() )
+        File t = File.createTempFile( "junit", null, temporaryFolder );
+        File f = new File( t.getAbsolutePath() )
         {
             private static final long serialVersionUID = 6987790643999338089L;
 
@@ -122,118 +119,117 @@ public class TestRequireFileChecksum
                 return false;
             }
         };
+        Throwable exception = assertThrows( EnforcerRuleException.class, () -> {
 
-        expectedException.expect( EnforcerRuleException.class );
-        expectedException.expectMessage( "Cannot read file: " + f.getAbsolutePath() );
+            rule.setFile( f );
+            rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
+            rule.setType( "md5" );
 
-        rule.setFile( f );
-        rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
-        rule.setType( "md5" );
-
-        rule.execute( EnforcerTestUtils.getHelper() );
+            rule.execute( EnforcerTestUtils.getHelper() );
+        } );
+        assertTrue( exception.getMessage().contains( "Cannot read file: " + f.getAbsolutePath() ) );
     }
 
     @Test
     public void testFileChecksumMd5GivenFileIsADirectoryFailure()
-        throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFolder();
+        File f = temporaryFolder;
+        Throwable exception = assertThrows( EnforcerRuleException.class, () -> {
 
-        expectedException.expect( EnforcerRuleException.class );
-        expectedException.expectMessage( "Cannot calculate the checksum of directory: " + f.getAbsolutePath() );
+            rule.setFile( f );
+            rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
+            rule.setType( "md5" );
 
-        rule.setFile( f );
-        rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
-        rule.setType( "md5" );
-
-        rule.execute( EnforcerTestUtils.getHelper() );
+            rule.execute( EnforcerTestUtils.getHelper() );
+        } );
+        assertTrue( exception.getMessage().contains( "Cannot calculate the checksum of directory: "
+            + f.getAbsolutePath() ) );
     }
 
     @Test
     public void testFileChecksumMd5NoFileSpecifiedFailure()
-        throws IOException, EnforcerRuleException
     {
-        expectedException.expect( EnforcerRuleException.class );
-        expectedException.expectMessage( "Input file unspecified" );
+        Throwable exception = assertThrows( EnforcerRuleException.class, () -> {
 
-        rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
-        rule.setType( "md5" );
+            rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
+            rule.setType( "md5" );
 
-        rule.execute( EnforcerTestUtils.getHelper() );
+            rule.execute( EnforcerTestUtils.getHelper() );
+        } );
+        assertTrue( exception.getMessage().contains( "Input file unspecified" ) );
     }
 
     @Test
     public void testFileChecksumMd5NoChecksumSpecifiedFailure()
-        throws IOException, EnforcerRuleException
     {
-        expectedException.expect( EnforcerRuleException.class );
-        expectedException.expectMessage( "Checksum unspecified" );
+        Throwable exception = assertThrows( EnforcerRuleException.class, () -> {
 
-        File f = temporaryFolder.newFile();
+            File f = File.createTempFile( "junit", null, temporaryFolder );
 
-        rule.setFile( f );
-        rule.setType( "md5" );
+            rule.setFile( f );
+            rule.setType( "md5" );
 
-        rule.execute( EnforcerTestUtils.getHelper() );
+            rule.execute( EnforcerTestUtils.getHelper() );
+        } );
+        assertTrue( exception.getMessage().contains( "Checksum unspecified" ) );
     }
 
     @Test
     public void testFileChecksumMd5NoTypeSpecifiedFailure()
-        throws IOException, EnforcerRuleException
     {
-        expectedException.expect( EnforcerRuleException.class );
-        expectedException.expectMessage( "Hash type unspecified" );
+        Throwable exception = assertThrows( EnforcerRuleException.class, () -> {
 
-        File f = temporaryFolder.newFile();
+            File f = File.createTempFile( "junit", null, temporaryFolder );
 
-        rule.setFile( f );
-        rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
+            rule.setFile( f );
+            rule.setChecksum( "78e731027d8fd50ed642340b7c9a63b3" );
 
-        rule.execute( EnforcerTestUtils.getHelper() );
+            rule.execute( EnforcerTestUtils.getHelper() );
+        } );
+        assertTrue( exception.getMessage().contains( "Hash type unspecified" ) );
     }
 
     @Test
     public void testFileChecksumMd5ChecksumMismatchFailure()
-        throws IOException, EnforcerRuleException
+        throws IOException
     {
-        File f = temporaryFolder.newFile();
-        FileUtils.fileWrite( f, "message" );
-
-        expectedException.expect( EnforcerRuleException.class );
-        expectedException.expectMessage( "md5 hash of " + f.getAbsolutePath()
-            + " was 78e731027d8fd50ed642340b7c9a63b3 but expected ffeeddccbbaa99887766554433221100" );
-
-        rule.setFile( f );
-        rule.setChecksum( "ffeeddccbbaa99887766554433221100" );
-        rule.setType( "md5" );
-
-        rule.execute( EnforcerTestUtils.getHelper() );
+        File f = File.createTempFile( "junit", null, temporaryFolder );
+        Throwable exception = assertThrows( EnforcerRuleException.class, () -> {
+            FileUtils.fileWrite( f, "message" );
+
+            rule.setFile( f );
+            rule.setChecksum( "ffeeddccbbaa99887766554433221100" );
+            rule.setType( "md5" );
+
+            rule.execute( EnforcerTestUtils.getHelper() );
+        } );
+        assertTrue( exception.getMessage().contains( "md5 hash of " + f.getAbsolutePath()
+            + " was 78e731027d8fd50ed642340b7c9a63b3 but expected ffeeddccbbaa99887766554433221100" ) );
     }
 
     @Test
     public void testFileChecksumMd5ChecksumMismatchFailureWithMessage()
-        throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
-        FileUtils.fileWrite( f, "message" );
         String configuredMessage = "testMessage";
-
-        expectedException.expect( EnforcerRuleException.class );
-        expectedException.expectMessage( configuredMessage );
-
-        rule.setFile( f );
-        rule.setChecksum( "ffeeddccbbaa99887766554433221100" );
-        rule.setType( "md5" );
-        rule.setMessage( configuredMessage );
-
-        rule.execute( EnforcerTestUtils.getHelper() );
+        Throwable exception = assertThrows( EnforcerRuleException.class, () -> {
+            File f = File.createTempFile( "junit", null, temporaryFolder );
+            FileUtils.fileWrite( f, "message" );
+
+            rule.setFile( f );
+            rule.setChecksum( "ffeeddccbbaa99887766554433221100" );
+            rule.setType( "md5" );
+            rule.setMessage( configuredMessage );
+
+            rule.execute( EnforcerTestUtils.getHelper() );
+        } );
+        assertTrue( exception.getMessage().contains( configuredMessage ) );
     }
 
     @Test
     public void testFileChecksumSha1()
         throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
+        File f = File.createTempFile( "junit", null, temporaryFolder );
         FileUtils.fileWrite( f, "message" );
 
         rule.setFile( f );
@@ -247,7 +243,7 @@ public class TestRequireFileChecksum
     public void testFileChecksumSha256()
         throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
+        File f = File.createTempFile( "junit", null, temporaryFolder );
         FileUtils.fileWrite( f, "message" );
 
         rule.setFile( f );
@@ -261,7 +257,7 @@ public class TestRequireFileChecksum
     public void testFileChecksumSha384()
         throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
+        File f = File.createTempFile( "junit", null, temporaryFolder );
         FileUtils.fileWrite( f, "message" );
 
         rule.setFile( f );
@@ -275,7 +271,7 @@ public class TestRequireFileChecksum
     public void testFileChecksumSha512()
         throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
+        File f = File.createTempFile( "junit", null, temporaryFolder );
         FileUtils.fileWrite( f, "message" );
 
         rule.setFile( f );
@@ -284,4 +280,5 @@ public class TestRequireFileChecksum
 
         rule.execute( EnforcerTestUtils.getHelper() );
     }
+
 }
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesDontExist.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesDontExist.java
index 55d06a2..5113295 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesDontExist.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesDontExist.java
@@ -46,7 +46,7 @@ public class TestRequireFilesDontExist
 
     @Test
     public void testFileExists()
-        throws EnforcerRuleException, IOException
+        throws IOException
     {
         File f = temporaryFolder.newFile();
 
@@ -66,7 +66,6 @@ public class TestRequireFilesDontExist
 
     @Test
     public void testEmptyFile()
-        throws EnforcerRuleException, IOException
     {
         rule.setFiles( new File[] { null } );
         try
@@ -82,7 +81,6 @@ public class TestRequireFilesDontExist
 
     @Test
     public void testEmptyFileAllowNull()
-        throws EnforcerRuleException, IOException
     {
         rule.setFiles( new File[] { null } );
         rule.setAllowNulls( true );
@@ -98,7 +96,6 @@ public class TestRequireFilesDontExist
 
     @Test
     public void testEmptyFileList()
-        throws EnforcerRuleException, IOException
     {
         rule.setFiles( new File[] {} );
         assertEquals( 0, rule.getFiles().length );
@@ -115,7 +112,6 @@ public class TestRequireFilesDontExist
 
     @Test
     public void testEmptyFileListAllowNull()
-        throws EnforcerRuleException, IOException
     {
         rule.setFiles( new File[] {} );
         assertEquals( 0, rule.getFiles().length );
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesExist.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesExist.java
index 06a01ca..93b984b 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesExist.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesExist.java
@@ -56,7 +56,6 @@ public class TestRequireFilesExist
     
     @Test
     public void testFileOsIndependentExists()
-        throws Exception
     {
         rule.setFiles( new File[] { new File( "POM.xml" ) } );
 
@@ -69,7 +68,6 @@ public class TestRequireFilesExist
 
     @Test
     public void testEmptyFile()
-        throws Exception
     {
         rule.setFiles( new File[] { null } );
 
@@ -90,7 +88,6 @@ public class TestRequireFilesExist
 
     @Test
     public void testEmptyFileList()
-        throws Exception
     {
         rule.setFiles( new File[] {} );
         assertEquals( 0, rule.getFiles().length );
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesSize.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesSize.java
index 8e7ac39..030195b 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesSize.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireFilesSize.java
@@ -63,7 +63,6 @@ public class TestRequireFilesSize
 
     @Test
     public void testEmptyFile()
-        throws EnforcerRuleException, IOException
     {
         rule.setFiles( new File[] { null } );
         try
@@ -79,7 +78,7 @@ public class TestRequireFilesSize
 
     @Test
     public void testEmptyFileAllowNull()
-        throws EnforcerRuleException, IOException
+        throws EnforcerRuleException
     {
         rule.setFiles( new File[] { null } );
         rule.setAllowNulls( true );
@@ -112,7 +111,7 @@ public class TestRequireFilesSize
 
     @Test
     public void testFileDoesNotExist()
-        throws EnforcerRuleException, IOException
+        throws IOException
     {
         File f = temporaryFolder.newFile();
         f.delete();
@@ -132,7 +131,7 @@ public class TestRequireFilesSize
 
     @Test
     public void testFileTooSmall()
-        throws EnforcerRuleException, IOException
+        throws IOException
     {
         File f = temporaryFolder.newFile();
         rule.setFiles( new File[] { f } );
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireJavaVendor.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireJavaVendor.java
index e4d896b..7130950 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireJavaVendor.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireJavaVendor.java
@@ -62,7 +62,6 @@ public class TestRequireJavaVendor
 
     @Test
     public void nonMatchingInclude()
-        throws EnforcerRuleException
     {
         // Set the included vendor to something irrelevant
         underTest.setIncludes( Collections.singletonList( NON_MATCHING_VENDOR ) );
@@ -73,7 +72,6 @@ public class TestRequireJavaVendor
 
     @Test
     public void matchingExclude()
-        throws EnforcerRuleException
     {
         // Set the excluded vendor to current vendor name
         underTest.setExcludes( Collections.singletonList( SystemUtils.JAVA_VENDOR ) );
@@ -95,7 +93,6 @@ public class TestRequireJavaVendor
 
     @Test
     public void matchingIncludeAndMatchingExclude()
-        throws EnforcerRuleException
     {
         underTest.setExcludes( Collections.singletonList( SystemUtils.JAVA_VENDOR ) );
         underTest.setIncludes( Collections.singletonList( SystemUtils.JAVA_VENDOR ) );
@@ -106,7 +103,6 @@ public class TestRequireJavaVendor
 
     @Test
     public void matchAnyExclude()
-        throws EnforcerRuleException
     {
         // Set a bunch of excluded vendors
         underTest.setExcludes( Arrays.asList( SystemUtils.JAVA_VENDOR, SystemUtils.JAVA_VENDOR + "modified" ) );
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireJavaVersion.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireJavaVersion.java
index c4c27b6..9b09284 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireJavaVersion.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireJavaVersion.java
@@ -20,12 +20,13 @@ package org.apache.maven.plugins.enforcer;
  */
 
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import org.apache.commons.lang3.SystemUtils;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 /**
  * The Class TestRequireJavaVersion.
@@ -61,7 +62,7 @@ public class TestRequireJavaVersion
         assertThat( RequireJavaVersion.normalizeJDKVersion( "1.6.0-dp2" ) ).isEqualTo( "1.6.0-2" );
         assertThat( RequireJavaVersion.normalizeJDKVersion( "1.8.0_73" ) ).isEqualTo( "1.8.0-73" );
         assertThat( RequireJavaVersion.normalizeJDKVersion( "9" ) ).isEqualTo( "9" );
-        
+
         assertThat( RequireJavaVersion.normalizeJDKVersion( "17" ) ).isEqualTo( "17" );
 
     }
@@ -87,23 +88,25 @@ public class TestRequireJavaVersion
         // intentionally no assertThat(...) because we don't expect and exception.
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void excludingTheCurrentJavaVersionViaRangeThisShouldFailWithException()
-        throws EnforcerRuleException
     {
-        String thisVersion = RequireJavaVersion.normalizeJDKVersion( SystemUtils.JAVA_VERSION );
+        assertThrows( EnforcerRuleException.class, () -> {
+            String thisVersion = RequireJavaVersion.normalizeJDKVersion( SystemUtils.JAVA_VERSION );
 
-        RequireJavaVersion rule = new RequireJavaVersion();
-        // exclude this version
-        rule.setVersion( "(" + thisVersion );
+            RequireJavaVersion rule = new RequireJavaVersion();
+            // exclude this version
+            rule.setVersion( "(" + thisVersion );
 
-        EnforcerRuleHelper helper = EnforcerTestUtils.getHelper();
-        rule.execute( helper );
+            EnforcerRuleHelper helper = EnforcerTestUtils.getHelper();
+            rule.execute( helper );
+            // intentionally no assertThat(...) because we expect and exception.
+        } );
         // intentionally no assertThat(...) because we expect and exception.
     }
 
     @Test
-    @Ignore
+    @Disabled
     // TODO: Think about the intention of this test? What should it prove?
     public void thisShouldNotCrash()
         throws EnforcerRuleException
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java
index 0da2d64..c4ee341 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java
@@ -28,6 +28,8 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.execution.ProjectDependencyGraph;
@@ -37,8 +39,8 @@ import org.apache.maven.model.RepositoryPolicy;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test the "require no repositories" rule.
@@ -54,7 +56,7 @@ public class TestRequireNoRepositories
 
     private MavenSession session;
 
-    @Before
+    @BeforeEach
     public void before()
         throws ExpressionEvaluationException
     {
@@ -193,29 +195,31 @@ public class TestRequireNoRepositories
     /**
      * The model contains a single repository which is is not allowed by the default rules.
      */
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testAllBannedWithRepository()
-        throws EnforcerRuleException
     {
-        MavenProject baseProject = createStandAloneProject();
-        addRepository( baseProject, createRepository( "repo", "http://example.com/repo" ) );
-        setupSortedProjects( Collections.singletonList( baseProject ) );
+        assertThrows( EnforcerRuleException.class, () -> {
+            MavenProject baseProject = createStandAloneProject();
+            addRepository( baseProject, createRepository( "repo", "http://example.com/repo" ) );
+            setupSortedProjects( Collections.singletonList( baseProject ) );
 
-        rule.execute( helper );
+            rule.execute( helper );
+        } );
     }
 
     /**
      * The model contains a single plugin repository which is is not allowed by the default rules.
      */
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testAllBannedWithPluginRepository()
-        throws EnforcerRuleException
     {
-        MavenProject baseProject = createStandAloneProject();
-        addPluginRepository( baseProject, createRepository( "repo", "http://example.com/repo" ) );
-        setupSortedProjects( Collections.singletonList( baseProject ) );
+        assertThrows( EnforcerRuleException.class, () -> {
+            MavenProject baseProject = createStandAloneProject();
+            addPluginRepository( baseProject, createRepository( "repo", "http://example.com/repo" ) );
+            setupSortedProjects( Collections.singletonList( baseProject ) );
 
-        rule.execute( helper );
+            rule.execute( helper );
+        } );
     }
 
     /**
@@ -319,15 +323,16 @@ public class TestRequireNoRepositories
         rule.execute( helper );
     }
 
-    @Test( expected = EnforcerRuleException.class )
+    @Test
     public void testAllBannedWithSnapshotRepository()
-        throws EnforcerRuleException
     {
-        MavenProject baseProject = createStandAloneProject();
-        addRepository( baseProject, createSnapshotRepository( "repo", "http://example.com/repo" ) );
-        setupSortedProjects( Collections.singletonList( baseProject ) );
+        assertThrows( EnforcerRuleException.class, () -> {
+            MavenProject baseProject = createStandAloneProject();
+            addRepository( baseProject, createSnapshotRepository( "repo", "http://example.com/repo" ) );
+            setupSortedProjects( Collections.singletonList( baseProject ) );
 
-        rule.execute( helper );
+            rule.execute( helper );
+        } );
     }
 
     @Test
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireOS.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireOS.java
index 57808f5..b3024be 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireOS.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireOS.java
@@ -115,7 +115,7 @@ public class TestRequireOS
     }
     
     @Test
-    public void testInvalidFamily() throws Exception
+    public void testInvalidFamily()
     {
         RequireOS rule = new RequireOS();
         
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
index 8f85c5f..469aab8 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
@@ -19,12 +19,7 @@ package org.apache.maven.plugins.enforcer;
  * under the License.
  */
 
-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.Assert.fail;
-
+import static org.junit.jupiter.api.Assertions.*;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -36,7 +31,7 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugins.enforcer.utils.PluginWrapper;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * The Class TestRequirePluginVersions.
@@ -79,7 +74,6 @@ public class TestRequirePluginVersions
         plugins.add( EnforcerTestUtils.newPlugin( "group", "f-artifact", "1.0-SNAPSHOT" ) );
         plugins.add( EnforcerTestUtils.newPlugin( "group", "g-artifact", "1.0-12345678.123456-1" ) );
 
-
         List<PluginWrapper> pluginWrappers = PluginWrapper.addAll( plugins, false );
 
         RequirePluginVersions rule = new RequirePluginVersions();
@@ -87,7 +81,6 @@ public class TestRequirePluginVersions
         rule.setBanRelease( false );
         rule.setBanSnapshots( false );
 
-
         EnforcerRuleHelper helper = EnforcerTestUtils.getHelper();
 
         assertTrue( rule.hasValidVersionSpecified( helper, source, pluginWrappers ) );
@@ -311,18 +304,17 @@ public class TestRequirePluginVersions
     {
         RequirePluginVersions rule = new RequirePluginVersions();
 
-        Set <Plugin> plugins = new HashSet<Plugin>();
+        Set<Plugin> plugins = new HashSet<Plugin>();
         plugins.add( EnforcerTestUtils.newPlugin( "group", "a-artifact", "1.0" ) );
         plugins.add( EnforcerTestUtils.newPlugin( "group", "foo", null ) );
         plugins.add( EnforcerTestUtils.newPlugin( "group", "foo2", "" ) );
 
         List<String> unchecked = new ArrayList<String>();
-        //intentionally inserting spaces to make sure they are handled correctly.
+        // intentionally inserting spaces to make sure they are handled correctly.
         unchecked.add( "group : a-artifact" );
 
         Collection<Plugin> results = rule.removeUncheckedPlugins( unchecked, plugins );
 
-
         // make sure only one new plugin has been added
         assertNotNull( results );
         assertEquals( 2, results.size() );
@@ -350,11 +342,11 @@ public class TestRequirePluginVersions
         // make sure only one new plugin has been added
         assertNotNull( results );
         assertEquals( 5, results.size() );
-        assertTrue( results.contains( "group:foo") );
-        assertTrue( results.contains( "group:foo2") );
-        assertTrue( results.contains( "group:a-artifact") );
-        assertTrue( results.contains( "group2:a") );
-        assertTrue( results.contains( "group3:b") );
+        assertTrue( results.contains( "group:foo" ) );
+        assertTrue( results.contains( "group:foo2" ) );
+        assertTrue( results.contains( "group:a-artifact" ) );
+        assertTrue( results.contains( "group2:a" ) );
+        assertTrue( results.contains( "group3:b" ) );
     }
 
     /**
@@ -368,12 +360,11 @@ public class TestRequirePluginVersions
         Set<String> plugins = new HashSet<String>();
         Collection<String> results = rule.combineUncheckedPlugins( plugins, "group2:a,group3:b" );
 
-
         // make sure only one new plugin has been added
         assertNotNull( results );
         assertEquals( 2, results.size() );
-        assertTrue( results.contains( "group2:a") );
-        assertTrue( results.contains( "group3:b") );
+        assertTrue( results.contains( "group2:a" ) );
+        assertTrue( results.contains( "group3:b" ) );
     }
 
     /**
@@ -386,12 +377,11 @@ public class TestRequirePluginVersions
 
         Collection<String> results = rule.combineUncheckedPlugins( null, "group2:a,group3:b" );
 
-
         // make sure only one new plugin has been added
         assertNotNull( results );
         assertEquals( 2, results.size() );
-        assertTrue( results.contains( "group2:a") );
-        assertTrue( results.contains( "group3:b") );
+        assertTrue( results.contains( "group2:a" ) );
+        assertTrue( results.contains( "group3:b" ) );
     }
 
     /**
@@ -410,9 +400,9 @@ public class TestRequirePluginVersions
         Collection<String> results = rule.combineUncheckedPlugins( plugins, "" );
         assertNotNull( results );
         assertEquals( 3, results.size() );
-        assertTrue( results.contains( "group:foo") );
-        assertTrue( results.contains( "group:foo2") );
-        assertTrue( results.contains( "group:a-artifact") );
+        assertTrue( results.contains( "group:foo" ) );
+        assertTrue( results.contains( "group:foo2" ) );
+        assertTrue( results.contains( "group:a-artifact" ) );
     }
 
     /**
@@ -431,9 +421,9 @@ public class TestRequirePluginVersions
         Collection<String> results = rule.combineUncheckedPlugins( plugins, null );
         assertNotNull( results );
         assertEquals( 3, results.size() );
-        assertTrue( results.contains( "group:foo") );
-        assertTrue( results.contains( "group:foo2") );
-        assertTrue( results.contains( "group:a-artifact") );
+        assertTrue( results.contains( "group:foo" ) );
+        assertTrue( results.contains( "group:foo2" ) );
+        assertTrue( results.contains( "group:a-artifact" ) );
     }
 
     /**
@@ -452,13 +442,12 @@ public class TestRequirePluginVersions
         Collection<String> results = rule.combineUncheckedPlugins( plugins, "a" );
         assertNotNull( results );
         assertEquals( 4, results.size() );
-        assertTrue( results.contains( "group:foo") );
-        assertTrue( results.contains( "group:foo2") );
-        //this should be here, the checking of a valid plugin string happens in another method.
-        assertTrue( results.contains( "a") );
+        assertTrue( results.contains( "group:foo" ) );
+        assertTrue( results.contains( "group:foo2" ) );
+        // this should be here, the checking of a valid plugin string happens in another method.
+        assertTrue( results.contains( "a" ) );
     }
 
-
     /**
      * Assert contains plugin.
      *
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireProperty.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireProperty.java
index 30fd83b..9ceea74 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireProperty.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireProperty.java
@@ -36,11 +36,9 @@ public class TestRequireProperty
     /**
      * Test rule.
      *
-     * @throws EnforcerRuleException the enforcer rule exception
      */
     @Test
     public void testRule()
-        throws EnforcerRuleException
     {
         MockProject project = new MockProject();
         project.setProperty( "testProp", "This is a test." );
@@ -76,11 +74,9 @@ public class TestRequireProperty
     /**
      * Test rule with regex.
      *
-     * @throws EnforcerRuleException the enforcer rule exception
      */
     @Test
     public void testRuleWithRegex()
-        throws EnforcerRuleException
     {
         MockProject project = new MockProject();
         project.setProperty( "testProp", "This is a test." );
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseDeps.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseDeps.java
index 84030ae..adeb7b4 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseDeps.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseDeps.java
@@ -28,7 +28,7 @@ import org.apache.maven.plugin.testing.ArtifactStubFactory;
 import org.apache.maven.plugins.enforcer.utils.EnforcerRuleUtilsHelper;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuildingRequest;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * The Class TestNoSnapshots.
@@ -80,7 +80,7 @@ public class TestRequireReleaseDeps
         project.setParent( parent );
         project.setArtifacts( null );
         project.setDependencyArtifacts( null );
-        helper = EnforcerTestUtils.getHelper(project);
+        helper = EnforcerTestUtils.getHelper( project );
 
         rule.setFailWhenParentIsSnapshot( true );
         EnforcerRuleUtilsHelper.execute( rule, helper, true );
@@ -88,21 +88,23 @@ public class TestRequireReleaseDeps
         rule.setFailWhenParentIsSnapshot( false );
         EnforcerRuleUtilsHelper.execute( rule, helper, false );
     }
-    
+
     @Test
-    public void testWildcardIgnore() throws Exception
+    public void testWildcardIgnore()
+        throws Exception
     {
         RequireReleaseDeps rule = newRequireReleaseDeps();
         rule.setExcludes( Collections.singletonList( "*:*:*:*:test" ) );
         rule.setOnlyWhenRelease( true );
         rule.setSearchTransitive( false );
-        
+
         ArtifactStubFactory factory = new ArtifactStubFactory();
         MockProject project = new MockProject();
         project.setArtifact( factory.getReleaseArtifact() );
-        project.setDependencyArtifacts( Collections.singleton( factory.createArtifact( "g", "a", "1.0-SNAPSHOT", "test" ) ) );
+        project.setDependencyArtifacts( Collections.singleton( factory.createArtifact( "g", "a", "1.0-SNAPSHOT",
+                                                                                       "test" ) ) );
         EnforcerRuleHelper helper = EnforcerTestUtils.getHelper( project );
-        
+
         EnforcerRuleUtilsHelper.execute( rule, helper, false );
     }
 
@@ -115,22 +117,22 @@ public class TestRequireReleaseDeps
         RequireReleaseDeps rule = newRequireReleaseDeps();
         rule.getCacheId();
     }
-    
+
     private RequireReleaseDeps newRequireReleaseDeps()
     {
         RequireReleaseDeps rule = new RequireReleaseDeps()
         {
-            
+
             @Override
             protected Set<Artifact> getDependenciesToCheck( ProjectBuildingRequest buildingRequest )
             {
                 MavenProject project = buildingRequest.getProject();
 
                 // the integration with dependencyGraphTree is verified with the integration tests
-                // for unit-testing 
+                // for unit-testing
                 return isSearchTransitive() ? project.getArtifacts() : project.getDependencyArtifacts();
             }
-        };        
+        };
         return rule;
     }
 }
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseVersion.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseVersion.java
index 426f9e4..138e20c 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseVersion.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseVersion.java
@@ -19,8 +19,8 @@ package org.apache.maven.plugins.enforcer;
  * under the License.
  */
 
-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;
 
 import java.io.IOException;
 
@@ -28,7 +28,7 @@ import org.apache.maven.enforcer.rule.api.EnforcerRule;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.plugin.testing.ArtifactStubFactory;
 import org.apache.maven.plugins.enforcer.utils.EnforcerRuleUtilsHelper;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * The Class TestRequireReleaseVersion.
@@ -66,7 +66,7 @@ public class TestRequireReleaseVersion
         MockProject parent = new MockProject();
         parent.setArtifact( factory.getSnapshotArtifact() );
         project.setParent( parent );
-        helper = EnforcerTestUtils.getHelper(project);
+        helper = EnforcerTestUtils.getHelper( project );
 
         ( (RequireReleaseVersion) rule ).setFailWhenParentIsSnapshot( true );
         EnforcerRuleUtilsHelper.execute( rule, helper, true );
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireSnapshotVersion.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireSnapshotVersion.java
index 2fd08a9..fd4cbc8 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireSnapshotVersion.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireSnapshotVersion.java
@@ -23,8 +23,8 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.plugin.testing.ArtifactStubFactory;
 import org.apache.maven.plugins.enforcer.utils.EnforcerRuleUtilsHelper;
 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.io.IOException;
 
@@ -42,7 +42,7 @@ public class TestRequireSnapshotVersion
 
     private RequireSnapshotVersion rule;
 
-    @Before
+    @BeforeEach
     public void before()
     {
         project = new MockProject();
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireTextFileChecksum.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireTextFileChecksum.java
index 04fe219..0c53f1e 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireTextFileChecksum.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireTextFileChecksum.java
@@ -27,28 +27,26 @@ import java.nio.charset.StandardCharsets;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.plugins.enforcer.utils.NormalizeLineSeparatorReader.LineSeparator;
 import org.codehaus.plexus.util.FileUtils;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 
 /**
  * Test the "RequireTextFileChecksum" rule
- *
  */
 public class TestRequireTextFileChecksum
 {
 
     private RequireTextFileChecksum rule = new RequireTextFileChecksum();
 
-    @Rule
-    public TemporaryFolder temporaryFolder = new TemporaryFolder();
+    @TempDir
+    public File temporaryFolder;
 
     @Test
     public void testFileChecksumMd5NormalizedFromUnixToWindows()
         throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
+        File f = File.createTempFile( "junit", null, temporaryFolder );
         FileUtils.fileWrite( f, "line1\nline2\n" );
 
         rule.setFile( f );
@@ -64,7 +62,7 @@ public class TestRequireTextFileChecksum
     public void testFileChecksumMd5NormalizedFromWindowsToWindows()
         throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
+        File f = File.createTempFile( "junit", null, temporaryFolder );
         FileUtils.fileWrite( f, "line1\r\nline2\r\n" );
 
         rule.setFile( f );
@@ -80,7 +78,7 @@ public class TestRequireTextFileChecksum
     public void testFileChecksumMd5NormalizedFromWindowsToUnix()
         throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
+        File f = File.createTempFile( "junit", null, temporaryFolder );
         FileUtils.fileWrite( f, "line1\r\nline2\r\n" );
 
         rule.setFile( f );
@@ -96,7 +94,7 @@ public class TestRequireTextFileChecksum
     public void testFileChecksumMd5NormalizedFromUnixToUnix()
         throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
+        File f = File.createTempFile( "junit", null, temporaryFolder );
         FileUtils.fileWrite( f, "line1\nline2\n" );
 
         rule.setFile( f );
@@ -112,7 +110,7 @@ public class TestRequireTextFileChecksum
     public void testFileChecksumMd5NormalizedWithMissingFileCharsetParameter()
         throws IOException, EnforcerRuleException
     {
-        File f = temporaryFolder.newFile();
+        File f = File.createTempFile( "junit", null, temporaryFolder );
         FileUtils.fileWrite( f, "line1\nline2\n" );
 
         rule.setFile( f );
@@ -122,7 +120,7 @@ public class TestRequireTextFileChecksum
 
         rule.execute( EnforcerTestUtils.getHelper() );
         // name is not unique therefore compare generated charset
-        Assert.assertEquals( Charset.forName( System.getProperty( "file.encoding" ) ), rule.encoding );
+        Assertions.assertEquals( Charset.forName( System.getProperty( "file.encoding" ) ), rule.encoding );
     }
 
 }
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtilsHelper.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtilsHelper.java
index 1600b9b..3f20176 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtilsHelper.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtilsHelper.java
@@ -1,7 +1,5 @@
 package org.apache.maven.plugins.enforcer.utils;
 
-import static org.junit.Assert.fail;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -25,6 +23,8 @@ import org.apache.maven.enforcer.rule.api.EnforcerRule;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 
+import static org.junit.jupiter.api.Assertions.fail;
+
 /**
  * The Class TestEnforcerRuleUtils.
  *
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/MockEnforcerExpressionEvaluator.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/MockEnforcerExpressionEvaluator.java
index df1e62d..57f05b3 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/MockEnforcerExpressionEvaluator.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/MockEnforcerExpressionEvaluator.java
@@ -41,7 +41,7 @@ public class MockEnforcerExpressionEvaluator
         super( theContext, new MojoExecution( new MojoDescriptor() ) );
     }
 
-    @Override 
+    @Override
     public Object evaluate( String expr )
         throws ExpressionEvaluationException
     {
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestArtifactMatcher.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestArtifactMatcher.java
index 8740635..f535aa6 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestArtifactMatcher.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestArtifactMatcher.java
@@ -19,7 +19,6 @@ package org.apache.maven.plugins.enforcer.utils;
  * under the License.
  */
 
-import junit.framework.TestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DefaultArtifact;
 import org.apache.maven.artifact.handler.ArtifactHandler;
@@ -27,101 +26,121 @@ import org.apache.maven.artifact.handler.DefaultArtifactHandler;
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.plugins.enforcer.utils.ArtifactMatcher.Pattern;
+import org.junit.jupiter.api.Test;
+
 import java.util.ArrayList;
 import java.util.Collection;
 
-public class TestArtifactMatcher extends TestCase
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
+
+public class TestArtifactMatcher
 {
-	private ArtifactMatcher matcher;
-	
-	Collection<String> patterns = new ArrayList<String>();
-	
-	Collection<String> ignorePatterns = new ArrayList<String>();
-	
-	public void testPatternInvalidInput() throws InvalidVersionSpecificationException
-	{
-		try
-		{
-			new Pattern(null);
-			fail("NullPointerException expected.");
-		}
-		catch(NullPointerException e){}
-		
-		try
-		{
-			new Pattern("a:b:c:d:e:f:g");
-			fail("IllegalArgumentException expected.");
-		}
-		catch(IllegalArgumentException e){}
-		
-		try
-		{
-			new Pattern("a::");
-			fail("IllegalArgumentException expected.");
-		}
-		catch(IllegalArgumentException e){}
-		
-		try
-		{
-			Pattern p = new Pattern("*");
-			p.match(null);
-			fail("NullPointerException expected.");
-		}
-		catch(NullPointerException e){}
-	}
-
-	public void testPattern() throws InvalidVersionSpecificationException
-	{
-		executePatternMatch("groupId:artifactId:1.0:jar:compile", "groupId", "artifactId", "1.0", "compile", "jar", true);
-		
-		executePatternMatch("groupId:artifactId:1.0:jar:compile", "groupId", "artifactId", "1.0", "", "", true);
-		
-		executePatternMatch("groupId:artifactId:1.0", "groupId", "artifactId", "1.0", "", "", true);
-		
-		executePatternMatch("groupId:artifactId:1.0", "groupId", "artifactId", "1.1", "", "", true);
-		
-		executePatternMatch("groupId:artifactId:[1.0]", "groupId", "artifactId", "1.1", "", "", false);
-		
-		executePatternMatch("groupId:*:1.0", "groupId", "artifactId", "1.0", "test", "", true);
-		
-		executePatternMatch("*:*:1.0", "groupId", "artifactId", "1.0", "", "", true);
-		
-		executePatternMatch("*:artifactId:*", "groupId", "artifactId", "1.0", "", "", true);
-		
-		executePatternMatch("*", "groupId", "artifactId", "1.0", "", "", true);
-		
-		// MENFORCER-74/75
-		executePatternMatch("*:*:*:jar:compile:tests", "groupId", "artifactId", "1.0", "", "", "tests", true);
-		
-		// MENFORCER-83
-        executePatternMatch("*upId", "groupId", "artifactId", "1.0", "", "", true);
-        
-        executePatternMatch("gr*pId:?rt?f?ct?d:1.0", "groupId", "artifactId", "1.0", "", "", true);
-        
-        executePatternMatch("org.apache.*:maven-*:*", "org.apache.maven", "maven-core", "3.0", "", "", true);
-	}
-	
-	public void testMatch() throws InvalidVersionSpecificationException
-	{
-		patterns.add("groupId:artifactId:1.0");
-		patterns.add("*:anotherArtifact");
-		
-		ignorePatterns.add("badGroup:*:*:test");
-		ignorePatterns.add("*:anotherArtifact:1.1");
-		
-		matcher = new ArtifactMatcher(patterns, ignorePatterns);
-		
-		executeMatch(matcher, "groupId", "artifactId", "1.0", "", "", true);	
-		
-		executeMatch(matcher, "groupId", "anotherArtifact", "1.0", "", "", true);	
-		
-		executeMatch(matcher, "badGroup", "artifactId", "1.0", "", "test", false);
-		
-		executeMatch(matcher, "badGroup", "anotherArtifact", "1.0", "", "", true);	
-		
-		executeMatch(matcher, "groupId", "anotherArtifact", "1.1", "", "", false);	
-	}
-	
+    private ArtifactMatcher matcher;
+
+    Collection<String> patterns = new ArrayList<String>();
+
+    Collection<String> ignorePatterns = new ArrayList<String>();
+
+    @Test
+    public void testPatternInvalidInput()
+        throws InvalidVersionSpecificationException
+    {
+        try
+        {
+            new Pattern( null );
+            fail( "NullPointerException expected." );
+        }
+        catch ( NullPointerException ignored )
+        {
+        }
+
+        try
+        {
+            new Pattern( "a:b:c:d:e:f:g" );
+            fail( "IllegalArgumentException expected." );
+        }
+        catch ( IllegalArgumentException ignored )
+        {
+        }
+
+        try
+        {
+            new Pattern( "a::" );
+            fail( "IllegalArgumentException expected." );
+        }
+        catch ( IllegalArgumentException ignored )
+        {
+        }
+
+        try
+        {
+            Pattern p = new Pattern( "*" );
+            p.match( null );
+            fail( "NullPointerException expected." );
+        }
+        catch ( NullPointerException ignored )
+        {
+        }
+    }
+
+    @Test
+    public void testPattern()
+        throws InvalidVersionSpecificationException
+    {
+        executePatternMatch( "groupId:artifactId:1.0:jar:compile", "groupId", "artifactId", "1.0", "compile", "jar",
+                             true );
+
+        executePatternMatch( "groupId:artifactId:1.0:jar:compile", "groupId", "artifactId", "1.0", "", "", true );
+
+        executePatternMatch( "groupId:artifactId:1.0", "groupId", "artifactId", "1.0", "", "", true );
+
+        executePatternMatch( "groupId:artifactId:1.0", "groupId", "artifactId", "1.1", "", "", true );
+
+        executePatternMatch( "groupId:artifactId:[1.0]", "groupId", "artifactId", "1.1", "", "", false );
+
+        executePatternMatch( "groupId:*:1.0", "groupId", "artifactId", "1.0", "test", "", true );
+
+        executePatternMatch( "*:*:1.0", "groupId", "artifactId", "1.0", "", "", true );
+
+        executePatternMatch( "*:artifactId:*", "groupId", "artifactId", "1.0", "", "", true );
+
+        executePatternMatch( "*", "groupId", "artifactId", "1.0", "", "", true );
+
+        // MENFORCER-74/75
+        executePatternMatch( "*:*:*:jar:compile:tests", "groupId", "artifactId", "1.0", "", "", "tests", true );
+
+        // MENFORCER-83
+        executePatternMatch( "*upId", "groupId", "artifactId", "1.0", "", "", true );
+
+        executePatternMatch( "gr*pId:?rt?f?ct?d:1.0", "groupId", "artifactId", "1.0", "", "", true );
+
+        executePatternMatch( "org.apache.*:maven-*:*", "org.apache.maven", "maven-core", "3.0", "", "", true );
+    }
+
+    @Test
+    public void testMatch()
+        throws InvalidVersionSpecificationException
+    {
+        patterns.add( "groupId:artifactId:1.0" );
+        patterns.add( "*:anotherArtifact" );
+
+        ignorePatterns.add( "badGroup:*:*:test" );
+        ignorePatterns.add( "*:anotherArtifact:1.1" );
+
+        matcher = new ArtifactMatcher( patterns, ignorePatterns );
+
+        executeMatch( matcher, "groupId", "artifactId", "1.0", "", "", true );
+
+        executeMatch( matcher, "groupId", "anotherArtifact", "1.0", "", "", true );
+
+        executeMatch( matcher, "badGroup", "artifactId", "1.0", "", "test", false );
+
+        executeMatch( matcher, "badGroup", "anotherArtifact", "1.0", "", "", true );
+
+        executeMatch( matcher, "groupId", "anotherArtifact", "1.1", "", "", false );
+    }
+
     private void executePatternMatch( final String pattern, final String groupId, final String artifactId,
                                       final String versionRange, final String scope, final String type,
                                       boolean expectedResult )
@@ -135,11 +154,10 @@ public class TestArtifactMatcher extends TestCase
                                       final String classifier, boolean expectedResult )
         throws InvalidVersionSpecificationException
     {
-        assertEquals( expectedResult, new ArtifactMatcher.Pattern( pattern ).match( createMockArtifact( groupId,
-                                                                                                        artifactId,
-                                                                                                        versionRange,
-                                                                                                        scope, type,
-                                                                                                        classifier ) ) );
+        assertEquals( expectedResult,
+                      new ArtifactMatcher.Pattern( pattern ).match( createMockArtifact( groupId, artifactId,
+                                                                                        versionRange, scope, type,
+                                                                                        classifier ) ) );
     }
 
     private void executeMatch( final ArtifactMatcher matcher, final String groupId, final String artifactId,
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestMockEnforcerExpressionEvaluator.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestMockEnforcerExpressionEvaluator.java
index ef8ba87..3cbe55c 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestMockEnforcerExpressionEvaluator.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestMockEnforcerExpressionEvaluator.java
@@ -24,24 +24,26 @@ import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluatio
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
 
 /**
  * The Class TestMockEnforcerExpressionEvaluator.
  */
 public class TestMockEnforcerExpressionEvaluator
-    extends TestCase
 {
 
     /**
      * Test evaluate.
      */
+    @Test
     public void testEvaluate()
     {
         MavenSession session = EnforcerTestUtils.getMavenSession();
 
-        EnforcerExpressionEvaluator ev =
-            new MockEnforcerExpressionEvaluator( session );
+        EnforcerExpressionEvaluator ev = new MockEnforcerExpressionEvaluator( session );
         assertMatch( ev, "SNAPSHOT" );
         assertMatch( ev, "RELEASE" );
         assertMatch( ev, "SNAPSHOT" );
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestNormalizeLineSeparatorReader.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestNormalizeLineSeparatorReader.java
index 5cfbb1d..4123021 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestNormalizeLineSeparatorReader.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/utils/TestNormalizeLineSeparatorReader.java
@@ -19,22 +19,23 @@ package org.apache.maven.plugins.enforcer.utils;
  * under the License.
  */
 
-import junit.framework.TestCase;
-
 import java.io.IOException;
 import java.io.Reader;
 import java.io.StringReader;
 
 import org.apache.commons.io.IOUtils;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import org.apache.maven.plugins.enforcer.utils.NormalizeLineSeparatorReader.LineSeparator;
+import org.junit.jupiter.api.Test;
 
 public class TestNormalizeLineSeparatorReader
-    extends TestCase
 {
     private final static String UNIX_MULTILINE_STRING = "line1\nline2\n\n";
 
     private final static String WINDOWS_MULTILINE_STRING = "line1\r\nline2\r\n\r\n";
 
+    @Test
     public void testUnixToWindows()
         throws IOException
     {
@@ -45,6 +46,7 @@ public class TestNormalizeLineSeparatorReader
         }
     }
 
+    @Test
     public void testUnixToUnix()
         throws IOException
     {
@@ -55,6 +57,7 @@ public class TestNormalizeLineSeparatorReader
         }
     }
 
+    @Test
     public void testWindowsToUnix()
         throws IOException
     {
@@ -65,6 +68,7 @@ public class TestNormalizeLineSeparatorReader
         }
     }
 
+    @Test
     public void testWindowsToWindows()
         throws IOException
     {
diff --git a/maven-enforcer-plugin/pom.xml b/maven-enforcer-plugin/pom.xml
index d76cf5e..431f24e 100644
--- a/maven-enforcer-plugin/pom.xml
+++ b/maven-enforcer-plugin/pom.xml
@@ -84,8 +84,18 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-junit-jupiter</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/MockEnforcerRule.java b/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/MockEnforcerRule.java
index 68ec878..9f54887 100644
--- a/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/MockEnforcerRule.java
+++ b/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/MockEnforcerRule.java
@@ -25,20 +25,19 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 
 /**
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
- * 
  */
 public class MockEnforcerRule
     implements EnforcerRule
 {
 
     public boolean failRule = false;
-    
-    public String cacheId="";
-    
+
+    public String cacheId = "";
+
     public boolean isCacheable = false;
-    
+
     public boolean isResultValid = false;
-    
+
     public boolean executed = false;
 
     public MockEnforcerRule( boolean fail )
@@ -50,9 +49,10 @@ public class MockEnforcerRule
     {
         this.failRule = fail;
         this.isCacheable = isCacheable;
-        this.isResultValid= isResultValid;
+        this.isResultValid = isResultValid;
         this.cacheId = cacheId;
     }
+
     public void execute( EnforcerRuleHelper helper )
         throws EnforcerRuleException
     {
@@ -72,8 +72,7 @@ public class MockEnforcerRule
     }
 
     /**
-     * @param theFailRule
-     *            the failRule to set
+     * @param theFailRule the failRule to set
      */
     public void setFailRule( boolean theFailRule )
     {
@@ -83,7 +82,7 @@ public class MockEnforcerRule
     /**
      * @return the isResultValid
      */
-    public boolean isResultValid ()
+    public boolean isResultValid()
     {
         return this.isResultValid;
     }
@@ -91,7 +90,7 @@ public class MockEnforcerRule
     /**
      * @param theIsResultValid the isResultValid to set
      */
-    public void setResultValid ( boolean theIsResultValid )
+    public void setResultValid( boolean theIsResultValid )
     {
         this.isResultValid = theIsResultValid;
     }
@@ -99,7 +98,7 @@ public class MockEnforcerRule
     /**
      * @param theCacheId the cacheId to set
      */
-    public void setCacheId ( String theCacheId )
+    public void setCacheId( String theCacheId )
     {
         this.cacheId = theCacheId;
     }
@@ -107,31 +106,35 @@ public class MockEnforcerRule
     /**
      * @param theIsCacheable the isCacheable to set
      */
-    public void setCacheable ( boolean theIsCacheable )
+    public void setCacheable( boolean theIsCacheable )
     {
         this.isCacheable = theIsCacheable;
     }
 
-    /* (non-Javadoc)
+    /*
+     * (non-Javadoc)
      * @see org.apache.maven.enforcer.rule.api.EnforcerRule#getCacheId()
      */
-    public String getCacheId ()
+    public String getCacheId()
     {
         return cacheId;
     }
 
-    /* (non-Javadoc)
+    /*
+     * (non-Javadoc)
      * @see org.apache.maven.enforcer.rule.api.EnforcerRule#isCacheable()
      */
-    public boolean isCacheable ()
+    public boolean isCacheable()
     {
         return isCacheable;
     }
 
-    /* (non-Javadoc)
-     * @see org.apache.maven.enforcer.rule.api.EnforcerRule#isResultValid(org.apache.maven.enforcer.rule.api.EnforcerRule)
+    /*
+     * (non-Javadoc)
+     * @see
+     * org.apache.maven.enforcer.rule.api.EnforcerRule#isResultValid(org.apache.maven.enforcer.rule.api.EnforcerRule)
      */
-    public boolean isResultValid ( EnforcerRule theCachedRule )
+    public boolean isResultValid( EnforcerRule theCachedRule )
     {
         return isResultValid;
     }
diff --git a/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/TestDefaultEnforcementRuleHelper.java b/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/TestDefaultEnforcementRuleHelper.java
index 0fd3a3d..b174deb 100644
--- a/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/TestDefaultEnforcementRuleHelper.java
+++ b/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/TestDefaultEnforcementRuleHelper.java
@@ -22,17 +22,18 @@ import org.codehaus.plexus.component.repository.exception.ComponentLookupExcepti
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
- * 
  */
 public class TestDefaultEnforcementRuleHelper
-    extends TestCase
 {
+    @Test
     public void testHelper()
-        throws ComponentLookupException, ExpressionEvaluationException
+        throws ExpressionEvaluationException
     {
         DefaultEnforcementRuleHelper helper = (DefaultEnforcementRuleHelper) EnforcerTestUtils.getHelper();
 
diff --git a/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/TestEnforceMojo.java b/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/TestEnforceMojo.java
index ff367ad..e2c834a 100644
--- a/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/TestEnforceMojo.java
+++ b/maven-enforcer-plugin/src/test/java/org/apache/maven/plugins/enforcer/TestEnforceMojo.java
@@ -19,27 +19,28 @@ package org.apache.maven.plugins.enforcer;
  * under the License.
  */
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.*;
 
 import org.apache.maven.enforcer.rule.api.EnforcerRule;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.mockito.junit.jupiter.MockitoSettings;
+import org.mockito.quality.Strictness;
 
 /**
  * Exhaustively check the enforcer mojo.
  * 
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
  */
-@RunWith( MockitoJUnitRunner.Silent.class )
+@ExtendWith( MockitoExtension.class )
+@MockitoSettings( strictness = Strictness.LENIENT )
 public class TestEnforceMojo
 {
 
@@ -115,8 +116,8 @@ public class TestEnforceMojo
         EnforceMojo.cache.clear();
         mojo.execute();
 
-        assertTrue( "Expected this rule to be executed.", rules[0].executed );
-        assertFalse( "Expected this rule not to be executed.", rules[1].executed );
+        assertTrue( rules[0].executed, "Expected this rule to be executed." );
+        assertFalse( rules[1].executed, "Expected this rule not to be executed." );
 
         // check that skip caching works.
         rules[0] = new MockEnforcerRule( false, "", true, true );
@@ -127,8 +128,8 @@ public class TestEnforceMojo
         mojo.ignoreCache = true;
         mojo.execute();
 
-        assertTrue( "Expected this rule to be executed.", rules[0].executed );
-        assertTrue( "Expected this rule to be executed.", rules[1].executed );
+        assertTrue( rules[0].executed, "Expected this rule to be executed." );
+        assertTrue( rules[1].executed, "Expected this rule to be executed." );
 
         mojo.ignoreCache = false;
 
@@ -141,9 +142,9 @@ public class TestEnforceMojo
         EnforceMojo.cache.clear();
         mojo.execute();
 
-        assertTrue( "Expected this rule to be executed.", rules[0].executed );
-        assertTrue( "Expected this rule to be executed.", rules[1].executed );
-        assertFalse( "Expected this rule not to be executed.", rules[2].executed );
+        assertTrue( rules[0].executed, "Expected this rule to be executed." );
+        assertTrue( rules[1].executed, "Expected this rule to be executed." );
+        assertFalse( rules[2].executed, "Expected this rule not to be executed." );
 
         // check that future overrides are working
         rules[0] = new MockEnforcerRule( false, "1", true, true );
@@ -154,8 +155,8 @@ public class TestEnforceMojo
         EnforceMojo.cache.clear();
         mojo.execute();
 
-        assertTrue( "Expected this rule to be executed.", rules[0].executed );
-        assertTrue( "Expected this rule to be executed.", rules[1].executed );
+        assertTrue( rules[0].executed, "Expected this rule to be executed." );
+        assertTrue( rules[1].executed, "Expected this rule to be executed." );
 
         // check that future isResultValid is used
         rules[0] = new MockEnforcerRule( false, "1", true, true );
@@ -166,8 +167,8 @@ public class TestEnforceMojo
         EnforceMojo.cache.clear();
         mojo.execute();
 
-        assertTrue( "Expected this rule to be executed.", rules[0].executed );
-        assertTrue( "Expected this rule to be executed.", rules[1].executed );
+        assertTrue( rules[0].executed, "Expected this rule to be executed." );
+        assertTrue( rules[1].executed, "Expected this rule to be executed." );
 
     }
 
@@ -187,8 +188,8 @@ public class TestEnforceMojo
         EnforceMojo.cache.clear();
         mojo.execute();
 
-        assertTrue( "Expected this rule to be executed.", rules[0].executed );
-        assertFalse( "Expected this rule not to be executed.", rules[1].executed );
+        assertTrue( rules[0].executed, "Expected this rule to be executed." );
+        assertFalse( rules[1].executed, "Expected this rule not to be executed." );
 
     }
 
@@ -207,8 +208,8 @@ public class TestEnforceMojo
 
         mojo.execute();
 
-        assertFalse( "Expected this rule not to be executed.", rules[0].executed );
-        assertFalse( "Expected this rule not to be executed.", rules[1].executed );
+        assertFalse( rules[0].executed, "Expected this rule not to be executed." );
+        assertFalse( rules[1].executed, "Expected this rule not to be executed." );
 
     }
 
@@ -237,8 +238,8 @@ public class TestEnforceMojo
 
         mojo.execute();
 
-        assertFalse( "Expected this rule not to be executed.", rules[0].executed );
-        assertFalse( "Expected this rule not to be executed.", rules[1].executed );
+        assertFalse( rules[0].executed, "Expected this rule not to be executed." );
+        assertFalse( rules[1].executed, "Expected this rule not to be executed." );
 
     }
 
@@ -261,14 +262,12 @@ public class TestEnforceMojo
 
         mojo.execute();
 
-        Mockito.verify( logSpy ).debug(
-                Mockito.anyString() , Mockito.same( ruleException ) );
+        Mockito.verify( logSpy ).debug( Mockito.anyString(), Mockito.same( ruleException ) );
 
-        Mockito.verify( logSpy, Mockito.never() ).warn(
-                Mockito.anyString(), Mockito.any( Throwable.class ) );
+        Mockito.verify( logSpy, Mockito.never() ).warn( Mockito.anyString(), Mockito.any( Throwable.class ) );
 
-        Mockito.verify( logSpy ).warn(
-                Mockito.matches( ".* failed with message:" + System.lineSeparator() + ruleException.getMessage() ) );
+        Mockito.verify( logSpy ).warn( Mockito.matches( ".* failed with message:" + System.lineSeparator()
+            + ruleException.getMessage() ) );
     }
 
     @Test
@@ -291,20 +290,21 @@ public class TestEnforceMojo
 
         mojo.execute();
 
-        Mockito.verify( logSpy ).warn(
-                Mockito.contains("failed without a message"), Mockito.same( enforcerRuleException ) );
+        Mockito.verify( logSpy ).warn( Mockito.contains( "failed without a message" ),
+                                       Mockito.same( enforcerRuleException ) );
 
-        Mockito.verify( logSpy ).warn(
-                Mockito.matches( ".* failed with message:" + System.lineSeparator() + "null" ) );
+        Mockito.verify( logSpy ).warn( Mockito.matches( ".* failed with message:" + System.lineSeparator() + "null" ) );
     }
 
-    private void setupBasics( boolean fail ) {
+    private void setupBasics( boolean fail )
+    {
         mojo.setFail( fail );
         mojo.setSession( EnforcerTestUtils.getMavenSession() );
         mojo.setProject( new MockProject() );
     }
 
-    private Log setupLogSpy() {
+    private Log setupLogSpy()
+    {
         Log spy = Mockito.spy( mojo.getLog() );
         mojo.setLog( spy );
         return spy;
diff --git a/pom.xml b/pom.xml
index 7795bd8..ebb37e5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,6 +67,7 @@
   <properties>
     <maven.version>3.1.1</maven.version>
     <maven.site.path>enforcer-archives/enforcer-LATEST</maven.site.path>
+    <junitVersion>5.8.1</junitVersion>
     <javaVersion>8</javaVersion>
     <project.build.outputTimestamp>2021-07-26T21:04:56Z</project.build.outputTimestamp>
   </properties>
@@ -122,9 +123,16 @@
         <version>3.4.1</version>
       </dependency>
       <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
-        <version>4.13.2</version>
+        <groupId>org.junit.jupiter</groupId>
+        <artifactId>junit-jupiter-api</artifactId>
+        <version>${junitVersion}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.junit.vintage</groupId>
+        <artifactId>junit-vintage-engine</artifactId>
+        <version>${junitVersion}</version>
+        <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.mockito</groupId>
@@ -133,6 +141,12 @@
         <scope>test</scope>
       </dependency>
       <dependency>
+        <groupId>org.mockito</groupId>
+        <artifactId>mockito-junit-jupiter</artifactId>
+        <version>3.12.4</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-lang3</artifactId>
         <version>3.12.0</version>
@@ -172,7 +186,7 @@
       <dependency>
         <groupId>org.assertj</groupId>
         <artifactId>assertj-core</artifactId>
-        <version>3.21.0</version><!-- Java 7 -->
+        <version>3.21.0</version>
       </dependency>
     </dependencies>
   </dependencyManagement>