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/01/31 22:56:53 UTC

[maven-javadoc-plugin] 06/07: Tests improvements / AssertJ / Java 16+

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

slachiewicz pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git

commit 9d1aaa521955e578337ab3fed4f869b7074343e1
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sun Jan 31 23:48:17 2021 +0100

    Tests improvements / AssertJ / Java 16+
---
 pom.xml                                            |  6 ++
 .../javadoc/AbstractFixJavadocMojoTest.java        | 48 ++++++++--------
 .../plugins/javadoc/AbstractJavadocMojoTest.java   | 36 ++++++------
 .../maven/plugins/javadoc/JavadocJarTest.java      | 35 +++++------
 .../maven/plugins/javadoc/JavadocReportTest.java   | 55 ++++++++++--------
 .../maven/plugins/javadoc/JavadocUtilTest.java     | 67 ++++++++--------------
 .../maven/plugins/javadoc/JavadocVersionTest.java  | 41 ++++++-------
 .../plugins/javadoc/TestJavadocReportTest.java     |  6 +-
 .../io/xpp3/JavadocOptionsXpp3ReaderTest.java      | 16 +++---
 .../def/configuration/App.java                     |  3 +
 .../def/configuration/AppSample.java               |  2 +-
 11 files changed, 155 insertions(+), 160 deletions(-)

diff --git a/pom.xml b/pom.xml
index 5cb55f9..37af96f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -352,6 +352,12 @@ under the License.
       <classifier>shaded</classifier>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <version>2.9.1</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/AbstractFixJavadocMojoTest.java b/src/test/java/org/apache/maven/plugins/javadoc/AbstractFixJavadocMojoTest.java
index 049d57a..54c5dc6 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/AbstractFixJavadocMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/AbstractFixJavadocMojoTest.java
@@ -25,18 +25,19 @@ import com.thoughtworks.qdox.JavaProjectBuilder;
 import com.thoughtworks.qdox.model.JavaClass;
 import com.thoughtworks.qdox.model.JavaSource;
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
 
 public class AbstractFixJavadocMojoTest
-    extends TestCase
 {
     private JavaSource getJavaSource( String source )
     {
         return new JavaProjectBuilder().addSource( new StringReader( source ) );
     }
 
+    @Test
     public void testReplaceLinkTags_noLinkTag()
-        throws Throwable
     {
         String comment = "/** @see ConnectException */";
         String source = "import java.net.ConnectException;\n"
@@ -46,12 +47,12 @@ public class AbstractFixJavadocMojoTest
         JavaClass clazz = getJavaSource( source ).getClassByName( "NoLinkTag" );
 
         String newComment = AbstractFixJavadocMojo.replaceLinkTags( comment, clazz );
-            
-        assertEquals( "/** @see ConnectException */", newComment );
+
+        assertThat( newComment ).isEqualTo( "/** @see ConnectException */" );
     }
 
+    @Test
     public void testReplaceLinkTags_oneLinkTag()
-        throws Throwable
     {
         String comment = "/** {@link ConnectException} */";
         String source = "import java.net.ConnectException;\n"
@@ -61,11 +62,11 @@ public class AbstractFixJavadocMojoTest
         JavaClass clazz = getJavaSource( source ).getClassByName( "OneLinkTag" );
 
         String newComment = AbstractFixJavadocMojo.replaceLinkTags( comment, clazz );
-        assertEquals( "/** {@link java.net.ConnectException} */", newComment );
+        assertThat( newComment ).isEqualTo( "/** {@link java.net.ConnectException} */" );
     }
 
+    @Test
     public void testReplaceLinkTags_missingEndBrace()
-        throws Throwable
     {
         String comment = "/** {@link ConnectException */";
         String source = "import java.net.ConnectException;\n"
@@ -75,11 +76,11 @@ public class AbstractFixJavadocMojoTest
         JavaClass clazz = getJavaSource( source ).getClassByName( "MissingEndBrace" );
                     
         String newComment = AbstractFixJavadocMojo.replaceLinkTags( comment, clazz );
-        assertEquals( "/** {@link ConnectException */", newComment );
+        assertThat( newComment ).isEqualTo( "/** {@link ConnectException */" );
     }
 
+    @Test
     public void testReplaceLinkTags_spacesAfterLinkTag()
-        throws Throwable
     {
         String comment = "/** {@link     ConnectException} */";
         String source = "import java.net.ConnectException;\n"
@@ -89,11 +90,11 @@ public class AbstractFixJavadocMojoTest
         JavaClass clazz = getJavaSource( source ).getClassByName( "SpacesAfterLinkTag" );
         
         String newComment = AbstractFixJavadocMojo.replaceLinkTags( comment, clazz );
-        assertEquals( "/** {@link java.net.ConnectException} */", newComment );
+        assertThat( newComment ).isEqualTo( "/** {@link java.net.ConnectException} */" );
     }
 
+    @Test
     public void testReplaceLinkTags_spacesAfterClassName()
-        throws Throwable
     {
         String comment = "/** {@link ConnectException       } */";
         String source = "import java.net.ConnectException;\n"
@@ -103,11 +104,11 @@ public class AbstractFixJavadocMojoTest
         JavaClass clazz = getJavaSource( source ).getClassByName( "SpacesAfterClassName" );
         
         String newComment = AbstractFixJavadocMojo.replaceLinkTags( comment, clazz );
-        assertEquals( "/** {@link java.net.ConnectException} */", newComment );
+        assertThat( newComment ).isEqualTo( "/** {@link java.net.ConnectException} */" );
     }
 
+    @Test
     public void testReplaceLinkTags_spacesAfterMethod()
-        throws Throwable
     {
         String comment = "/** {@link ConnectException#getMessage()       } */";
         String source = "import java.net.ConnectException;\n"
@@ -117,11 +118,11 @@ public class AbstractFixJavadocMojoTest
         JavaClass clazz = getJavaSource( source ).getClassByName( "SpacesAfterMethod" );
 
         String newComment = AbstractFixJavadocMojo.replaceLinkTags( comment, clazz );
-        assertEquals( "/** {@link java.net.ConnectException#getMessage()} */", newComment );
+        assertThat( newComment ).isEqualTo( "/** {@link java.net.ConnectException#getMessage()} */" );
     }
 
+    @Test
     public void testReplaceLinkTags_containingHash()
-        throws Throwable
     {
         String comment = "/** {@link ConnectException#getMessage()} */";
         String source = "import java.net.ConnectException;\n"
@@ -131,11 +132,11 @@ public class AbstractFixJavadocMojoTest
         JavaClass clazz = getJavaSource( source ).getClassByName( "ContainingHashes" );
 
         String newComment = AbstractFixJavadocMojo.replaceLinkTags( comment, clazz );
-        assertEquals( "/** {@link java.net.ConnectException#getMessage()} */", newComment );
+        assertThat( newComment ).isEqualTo( "/** {@link java.net.ConnectException#getMessage()} */" );
     }
 
+    @Test
     public void testReplaceLinkTags_followedByHash()
-        throws Throwable
     {
         String comment = "/** {@link ConnectException} ##important## */";
         String source = "import java.net.ConnectException;\n"
@@ -145,11 +146,11 @@ public class AbstractFixJavadocMojoTest
         JavaClass clazz = getJavaSource( source ).getClassByName( "FollowedByHash" );
 
         String newComment = AbstractFixJavadocMojo.replaceLinkTags( comment, clazz );
-        assertEquals( "/** {@link java.net.ConnectException} ##important## */", newComment );
+        assertThat( newComment ).isEqualTo( "/** {@link java.net.ConnectException} ##important## */" );
     }
 
+    @Test
     public void testReplaceLinkTags_twoLinks()
-        throws Throwable
     {
         String comment = "/** Use {@link ConnectException} instead of {@link Exception} */";
         String source = "import java.net.ConnectException;\n"
@@ -159,11 +160,12 @@ public class AbstractFixJavadocMojoTest
         JavaClass clazz = getJavaSource( source ).getClassByName( "TwoLinks" );
 
         String newComment = AbstractFixJavadocMojo.replaceLinkTags( comment, clazz );
-        assertEquals( "/** Use {@link java.net.ConnectException} instead of {@link java.lang.Exception} */", newComment );
+        assertThat( newComment ).isEqualTo(
+                "/** Use {@link java.net.ConnectException} instead of {@link java.lang.Exception} */" );
     }
 
+    @Test
     public void testReplaceLinkTags_OnlyAnchor()
-        throws Throwable
     {
         String comment = "/** There's a {@link #getClass()} but no setClass() */";
         String source = "import java.net.ConnectException;\n"
@@ -173,6 +175,6 @@ public class AbstractFixJavadocMojoTest
         JavaClass clazz = getJavaSource( source ).getClassByName( "OnlyAnchor" );
 
         String newComment = AbstractFixJavadocMojo.replaceLinkTags( comment, clazz );
-        assertEquals( "/** There's a {@link #getClass()} but no setClass() */", newComment );
+        assertThat( newComment ).isEqualTo( "/** There's a {@link #getClass()} but no setClass() */" );
     }
 }
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojoTest.java b/src/test/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojoTest.java
index 1432492..7804611 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojoTest.java
@@ -19,7 +19,8 @@ package org.apache.maven.plugins.javadoc;
  * under the License.
  */
 
-import static org.mockito.Matchers.anyString;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
@@ -28,33 +29,28 @@ import static org.mockito.Mockito.when;
 
 import java.io.File;
 
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.plugins.javadoc.AbstractJavadocMojo;
 
-import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
 
 public class AbstractJavadocMojoTest
-    extends TestCase
 {
     AbstractJavadocMojo mojo;
 
-    @Override
-    protected void setUp()
-        throws Exception
+    @Before
+    public void setUp()
     {
-        super.setUp();
         mojo = new AbstractJavadocMojo()
         {
             @Override
             public void doExecute()
-                throws MojoExecutionException, MojoFailureException
             {
             }
         };
     }
 
+    @Test
     public void testMJAVADOC432_DetectLinksMessages()
     {
         Log log = mock( Log.class );
@@ -63,20 +59,21 @@ public class AbstractJavadocMojoTest
         mojo.outputDirectory = new File( "target/test-classes" );
 
         // first continues after warning, next exits with warning
-        assertFalse( mojo.isValidJavadocLink( new File( "pom.xml" ).getPath(), true ) );
-        assertFalse( mojo.isValidJavadocLink( "file://%%", true ) );
-        assertFalse( mojo.isValidJavadocLink( new File( "pom.xml" ).toURI().toString(), true ) );
+        assertThat( mojo.isValidJavadocLink( new File( "pom.xml" ).getPath(), true ) ).isFalse();
+        assertThat( mojo.isValidJavadocLink( "file://%%", true ) ).isFalse();
+        assertThat( mojo.isValidJavadocLink( new File( "pom.xml" ).toURI().toString(), true ) ).isFalse();
         verify( log, times( 4 ) ).warn( anyString() );
         verify( log, never() ).error( anyString() );
 
         // first continues after error, next exits with error
-        assertFalse( mojo.isValidJavadocLink( new File( "pom.xml" ).getPath(), false ) );
-        assertFalse( mojo.isValidJavadocLink( "file://%%", false ) );
-        assertFalse( mojo.isValidJavadocLink( new File( "pom.xml" ).toURI().toString(), false ) );
+        assertThat( mojo.isValidJavadocLink( new File( "pom.xml" ).getPath(), false ) ).isFalse();
+        assertThat( mojo.isValidJavadocLink( "file://%%", false ) ).isFalse();
+        assertThat( mojo.isValidJavadocLink( new File( "pom.xml" ).toURI().toString(), false ) ).isFalse();
         verify( log, times( 4 ) ).error( anyString() );
         verify( log, times( 4 ) ).warn( anyString() ); // no extra warnings
     }
 
+    @Test
     public void testMJAVADOC527_DetectLinksRecursion()
     {
         Log log = mock( Log.class );
@@ -84,7 +81,8 @@ public class AbstractJavadocMojoTest
         mojo.setLog( log );
         mojo.outputDirectory = new File( "target/test-classes" );
 
-        assertFalse( mojo.isValidJavadocLink( "http://javamail.java.net/mailapi/apidocs", false ) );
-        assertTrue( mojo.isValidJavadocLink( "http://commons.apache.org/proper/commons-lang/apidocs", false ) );
+        assertThat( mojo.isValidJavadocLink( "http://javamail.java.net/mailapi/apidocs", false ) ).isFalse();
+        assertThat(
+                mojo.isValidJavadocLink( "http://commons.apache.org/proper/commons-lang/apidocs", false ) ).isTrue();
     }
 }
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java
index 900851c..eb46b6c 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java
@@ -21,10 +21,8 @@ package org.apache.maven.plugins.javadoc;
 
 
 import java.io.File;
-import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Set;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
@@ -35,7 +33,8 @@ import org.apache.maven.plugin.testing.AbstractMojoTestCase;
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.languages.java.version.JavaVersion;
-import org.codehaus.plexus.util.FileUtils;
+
+import static org.assertj.core.api.Assertions.assertThat;
 
 /**
  * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
@@ -79,7 +78,7 @@ public class JavadocJarTest
         //check if the javadoc jar file was generated
         File generatedFile =
             new File( getBasedir(), "target/test/unit/javadocjar-default/target/javadocjar-default-javadoc.jar" );
-        assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) );
+        assertThat( generatedFile ).exists();
 
         Set<String> set = new HashSet<>();
 
@@ -131,11 +130,11 @@ public class JavadocJarTest
         //check if the javadoc files were created
         generatedFile =
             new File( getBasedir(), "target/test/unit/javadocjar-default/target/site/apidocs/javadocjar/def/App.html" );
-        assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) );
+        assertThat(generatedFile).exists();
 
         generatedFile = new File( getBasedir(),
                                   "target/test/unit/javadocjar-default/target/site/apidocs/javadocjar/def/AppSample.html" );
-        assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) );
+        assertThat( generatedFile ).exists();
     }
 
     /**
@@ -154,7 +153,7 @@ public class JavadocJarTest
         //check if the javadoc jar file was generated
         File generatedFile = new File( getBasedir(),
                                        "target/test/unit/javadocjar-invalid-destdir/target/javadocjar-invalid-destdir-javadoc.jar" );
-        assertFalse( FileUtils.fileExists( generatedFile.getAbsolutePath() ) );
+        assertThat( generatedFile ).doesNotExist();
     }
 
     public void testContinueIfFailOnErrorIsFalse() throws Exception
@@ -167,7 +166,7 @@ public class JavadocJarTest
         //check if the javadoc jar file was generated
         File generatedFile =
                 new File( getBasedir(), "target/test/unit/javadocjar-failonerror/target/javadocjar-failonerror-javadoc.jar" );
-        assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) );
+        assertThat( generatedFile ).exists();
     }
 
     public void testIncludeMavenDescriptorWhenExplicitlyConfigured() throws Exception
@@ -180,7 +179,7 @@ public class JavadocJarTest
         //check if the javadoc jar file was generated
         File generatedFile =
                 new File( getBasedir(), "target/test/unit/javadocjar-archive-config/target/javadocjar-archive-config-javadoc.jar" );
-        assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) );
+        assertThat( generatedFile ).exists();
 
         //validate contents of jar file
         ZipFile jar = new ZipFile( generatedFile );
@@ -192,16 +191,12 @@ public class JavadocJarTest
         }
         jar.close();
 
-        List<String> expected = new ArrayList<>();
-        expected.add( "META-INF/" );
-        expected.add( "META-INF/maven/" );
-        expected.add( "META-INF/maven/org.apache.maven.plugins.maven-javadoc-plugin.unit/" );
-        expected.add( "META-INF/maven/org.apache.maven.plugins.maven-javadoc-plugin.unit/javadocjar-archive-config/" );
-        expected.add( "META-INF/maven/org.apache.maven.plugins.maven-javadoc-plugin.unit/javadocjar-archive-config/pom.xml" );
-        expected.add( "META-INF/maven/org.apache.maven.plugins.maven-javadoc-plugin.unit/javadocjar-archive-config/pom.properties" );
-
-        for (String entry : expected) {
-            assertTrue("Expected jar to contain " + entry, set.contains(entry));
-        }
+        assertThat( set ).contains(
+                "META-INF/",
+                "META-INF/maven/",
+                "META-INF/maven/org.apache.maven.plugins.maven-javadoc-plugin.unit/",
+                "META-INF/maven/org.apache.maven.plugins.maven-javadoc-plugin.unit/javadocjar-archive-config/",
+                "META-INF/maven/org.apache.maven.plugins.maven-javadoc-plugin.unit/javadocjar-archive-config/pom.xml",
+                "META-INF/maven/org.apache.maven.plugins.maven-javadoc-plugin.unit/javadocjar-archive-config/pom.properties" );
     }
 }
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
index 393e66e..bc6e2e2 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
@@ -19,7 +19,7 @@ package org.apache.maven.plugins.javadoc;
  * under the License.
  */
 
-import static org.junit.Assert.assertThat;
+import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.Assume.assumeThat;
 import static org.hamcrest.CoreMatchers.anyOf;
 import static org.hamcrest.CoreMatchers.containsString;
@@ -36,6 +36,7 @@ import java.net.URL;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
+import java.nio.file.Path;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -56,6 +57,7 @@ import org.apache.maven.settings.Settings;
 import org.codehaus.plexus.languages.java.version.JavaVersion;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
+import org.hamcrest.MatcherAssert;
 import org.junit.AssumptionViolatedException;
 import org.junit.Ignore;
 import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
@@ -243,11 +245,11 @@ public class JavadocReportTest
         mojo.execute();
 
         // package level generated javadoc files
-        File apidocs = new File( getBasedir(), "target/test/unit/default-configuration/target/site/apidocs" );
+        Path apidocs = new File( getBasedir(), "target/test/unit/default-configuration/target/site/apidocs" ).toPath();
 
         String appHtml = "def/configuration/App.html";
-        File generatedFile = new File( apidocs, appHtml );
-        assertTrue( generatedFile.exists() );
+        Path generatedFile = apidocs.resolve( appHtml );
+        assertThat( generatedFile ).exists();
 
         // only test when URL can be reached
 
@@ -261,8 +263,8 @@ public class JavadocReportTest
                 assumeThat( connection.getURL().toString(), is( url ) );
 
                 // https://bugs.openjdk.java.net/browse/JDK-8216497
-                assertThat( url + " available, but " + appHtml + " is missing link to java.lang.Object",
-                            FileUtils.fileRead( generatedFile, "UTF-8" ),
+                MatcherAssert.assertThat( url + " available, but " + appHtml + " is missing link to java.lang.Object",
+                            FileUtils.fileRead( generatedFile.toFile(), "UTF-8" ),
                             anyOf( containsString( "/docs/api/java/lang/Object.html" ), 
                             containsString( "/docs/api/java.base/java/lang/Object.html" ) ) );
             }
@@ -272,39 +274,39 @@ public class JavadocReportTest
             }
         }
 
-        assertTrue( new File( apidocs, "def/configuration/AppSample.html" ).exists() );
-        assertTrue( new File( apidocs, "def/configuration/package-summary.html" ).exists() );
-        assertTrue( new File( apidocs, "def/configuration/package-tree.html" ).exists() );
-        assertTrue( new File( apidocs, "def/configuration/package-use.html" ).exists() );
+        assertThat( apidocs.resolve( "def/configuration/AppSample.html" )).exists();
+        assertThat( apidocs.resolve( "def/configuration/package-summary.html" )).exists();
+        assertThat( apidocs.resolve( "def/configuration/package-tree.html" )).exists();
+        assertThat( apidocs.resolve( "def/configuration/package-use.html" )).exists();
 
         // package-frame and allclasses-(no)frame not generated anymore since Java 11
         if ( JavaVersion.JAVA_SPECIFICATION_VERSION.isBefore( "11" ) )
         {
-            assertTrue( new File( apidocs, "def/configuration/package-frame.html" ).exists() );
-            assertTrue( new File( apidocs, "allclasses-frame.html" ).exists() );
-            assertTrue( new File( apidocs, "allclasses-noframe.html" ).exists() );
+            assertThat( apidocs.resolve( "def/configuration/package-frame.html" )).exists();;
+            assertThat( apidocs.resolve( "allclasses-frame.html" )).exists();
+            assertThat( apidocs.resolve( "allclasses-noframe.html" )).exists();
         }
 
         // class level generated javadoc files
-        assertTrue( new File( apidocs, "def/configuration/class-use/App.html" ).exists() );
-        assertTrue( new File( apidocs, "def/configuration/class-use/AppSample.html" ).exists() );
+        assertThat( apidocs.resolve( "def/configuration/class-use/App.html" )).exists();
+        assertThat( apidocs.resolve( "def/configuration/class-use/AppSample.html" )).exists();
 
         // project level generated javadoc files
-        assertTrue( new File( apidocs, "constant-values.html" ).exists() );
-        assertTrue( new File( apidocs, "deprecated-list.html" ).exists() );
-        assertTrue( new File( apidocs, "help-doc.html" ).exists() );
-        assertTrue( new File( apidocs, "index-all.html" ).exists() );
-        assertTrue( new File( apidocs, "index.html" ).exists() );
-        assertTrue( new File( apidocs, "overview-tree.html" ).exists() );
-        assertTrue( new File( apidocs, "stylesheet.css" ).exists() );
+        assertThat( apidocs.resolve( "constant-values.html" )).exists();
+        assertThat( apidocs.resolve( "deprecated-list.html" ) ).exists();
+        assertThat( apidocs.resolve( "help-doc.html" )).exists();
+        assertThat( apidocs.resolve( "index-all.html" )).exists();
+        assertThat( apidocs.resolve( "index.html" )).exists();
+        assertThat( apidocs.resolve( "overview-tree.html" )).exists();
+        assertThat( apidocs.resolve( "stylesheet.css" )).exists();
 
         if ( JavaVersion.JAVA_VERSION.isAtLeast( "10" ) )
         {
-            assertTrue( new File( apidocs, "element-list" ).exists() );
+            assertThat( apidocs.resolve( "element-list" )).exists();
         }
         else
         {
-            assertTrue( new File( apidocs, "package-list" ).exists() );
+            assertThat( apidocs.resolve( "package-list" )).exists();
         }
     }
 
@@ -433,7 +435,10 @@ public class JavadocReportTest
         assertTrue( str.toUpperCase().contains( "MAVEN JAVADOC PLUGIN TEST" ) );
 
         // footer
-        assertTrue( str.toUpperCase().contains( "MAVEN JAVADOC PLUGIN TEST FOOTER" ) );
+        if ( JavaVersion.JAVA_VERSION.isBefore( "16" ) )
+        {
+            assertTrue( str.toUpperCase().contains( "MAVEN JAVADOC PLUGIN TEST FOOTER" ) );
+        }
 
         // nohelp == true
         assertFalse( str.toUpperCase().contains( "/HELP-DOC.HTML" ) );
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
index e3a00d1..17ccae0 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
@@ -1,7 +1,5 @@
 package org.apache.maven.plugins.javadoc;
 
-import static org.junit.Assert.assertArrayEquals;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -43,7 +41,6 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.apache.maven.plugins.javadoc.ProxyServer.AuthAsyncProxyServlet;
 import org.apache.maven.settings.Proxy;
@@ -55,6 +52,8 @@ import org.mortbay.jetty.handler.AbstractHandler;
 import org.mortbay.jetty.handler.MovedContextHandler;
 import org.mortbay.util.ByteArrayISO8859Writer;
 
+import static org.assertj.core.api.Assertions.assertThat;
+
 /**
  * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
  */
@@ -622,7 +621,7 @@ public class JavadocUtilTest
         throws Exception
     {
         File input = new File( getBasedir(), "src/test/resources/unit/docfiles-test/docfiles/" );
-        assertTrue( input.exists() );
+        assertThat( input ).exists();
 
         File output = new File( getBasedir(), "target/test/unit/docfiles-test/target/output" );
         if ( output.exists() )
@@ -632,26 +631,17 @@ public class JavadocUtilTest
         assertTrue( output.mkdirs() );
 
         JavadocUtil.copyJavadocResources( output, input, null );
-        List<String> expected = new ArrayList<>();
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "excluded-dir1" + File.separator
-            + "sample-excluded1.gif" );
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "excluded-dir2" + File.separator
-            + "sample-excluded2.gif" );
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir1" + File.separator
-            + "sample-included1.gif" );
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir2" + File.separator
-            + "sample-included2.gif" );
-        assertTrue( EqualsBuilder.reflectionEquals( expected, FileUtils.getFiles( output, null, null, false ) ) );
-        expected = new ArrayList<>();
-        expected.add( "" );
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "excluded-dir1" );
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "excluded-dir1" );
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir1" );
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir2" );
-        assertTrue( EqualsBuilder.reflectionEquals( expected,
-                                                    FileUtils.getDirectoryNames( new File( output,
-                                                                                           "test/doc-files" ),
-                                                                                 null, null, false ) ) );
+
+        assertThat( FileUtils.getFiles( output, null, null, false ) )
+                .containsExactlyInAnyOrder(
+                    Paths.get( "test", "doc-files", "excluded-dir1", "sample-excluded1.gif" ).toFile(),
+                    Paths.get( "test", "doc-files", "excluded-dir2", "sample-excluded2.gif" ).toFile(),
+                    Paths.get( "test", "doc-files", "included-dir1", "sample-included1.gif" ).toFile(),
+                    Paths.get( "test", "doc-files", "included-dir2", "sample-included2.gif" ).toFile()
+        );
+
+        assertThat( FileUtils.getDirectoryNames( new File( output, "test/doc-files" ), null, null, false ) )
+                .containsExactlyInAnyOrder( "", "excluded-dir1", "excluded-dir2", "included-dir1", "included-dir2" );
 
         input = new File( getBasedir(), "src/test/resources/unit/docfiles-test/docfiles/" );
         assertTrue( input.exists() );
@@ -664,20 +654,15 @@ public class JavadocUtilTest
         assertTrue( output.mkdirs() );
 
         JavadocUtil.copyJavadocResources( output, input, "excluded-dir1:excluded-dir2" );
-        expected = new ArrayList<>();
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir1" + File.separator
-            + "sample-included1.gif" );
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir2" + File.separator
-            + "sample-included2.gif" );
-        assertTrue( EqualsBuilder.reflectionEquals( expected, FileUtils.getFiles( output, null, null, false ) ) );
-        expected = new ArrayList<>();
-        expected.add( "" );
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir1" );
-        expected.add( "test" + File.separator + "doc-files" + File.separator + "included-dir2" );
-        assertTrue( EqualsBuilder.reflectionEquals( expected,
-                                                    FileUtils.getDirectoryNames( new File( output,
-                                                                                           "test/doc-files" ),
-                                                                                 null, null, false ) ) );
+
+        assertThat( FileUtils.getFiles( output, null, null, false ) )
+                .containsExactlyInAnyOrder(
+                    Paths.get( "test", "doc-files", "included-dir1", "sample-included1.gif" ).toFile(),
+                    Paths.get( "test", "doc-files", "included-dir2", "sample-included2.gif" ).toFile()
+                );
+
+        assertThat( FileUtils.getDirectoryNames( new File( output, "test/doc-files" ), null, null, false ) )
+                .containsExactlyInAnyOrder( "", "included-dir1", "included-dir2" );
     }
 
     /**
@@ -704,10 +689,8 @@ public class JavadocUtilTest
     /**
      * Method to test unifyPathSeparator()
      *
-     * @throws Exception if any
      */
     public void testUnifyPathSeparator()
-        throws Exception
     {
         assertNull( JavadocUtil.unifyPathSeparator( null ) );
 
@@ -736,7 +719,7 @@ public class JavadocUtilTest
     }
     
     
-    public void testGetIncludedFiles() throws Exception
+    public void testGetIncludedFiles()
     {
         File sourceDirectory = new File("target/it").getAbsoluteFile();
         String[] fileList = new String[] { "Main.java" };
@@ -744,7 +727,7 @@ public class JavadocUtilTest
         
         List<String> includedFiles = JavadocUtil.getIncludedFiles( sourceDirectory, fileList, excludePackages );
         
-        assertArrayEquals( fileList, includedFiles.toArray( new String[0] ) );
+        assertThat( includedFiles.toArray( new String[0] ) ).isEqualTo( fileList );
     }
 
     private void stopSilently( Server server )
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocVersionTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocVersionTest.java
index 0f0bc23..ac63c24 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocVersionTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocVersionTest.java
@@ -19,50 +19,51 @@ package org.apache.maven.plugins.javadoc;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import org.junit.Test;
 
+import static org.assertj.core.api.Assertions.assertThat;
+
 public class JavadocVersionTest
 {
     /**
      * Parsing is lazy, only triggered when comparing
      * 
-     * @throws Exception
+     * @noinspection deprecation
      */
     @Test
-    public void testParse() throws Exception
+    public void testParse()
     {
-        assertTrue( JavadocVersion.parse( "1.4" ).compareTo( JavadocVersion.parse( "1.4.2" ) ) < 0 );
-        assertTrue( JavadocVersion.parse( "1.4" ).compareTo( JavadocVersion.parse( "1.5" ) ) < 0 );
-        assertTrue( JavadocVersion.parse( "1.8" ).compareTo( JavadocVersion.parse( "9" ) ) < 0 );
+        assertThat( JavadocVersion.parse( "1.4" ) )
+                .isLessThan( JavadocVersion.parse( "1.4.2" ) )
+                .isLessThan( JavadocVersion.parse( "1.5" ) );
+
+        assertThat( JavadocVersion.parse( "1.8" ) ).isLessThan( JavadocVersion.parse( "9" ) );
 
-        assertEquals( 0, JavadocVersion.parse( "1.4" ).compareTo( JavadocVersion.parse( "1.4" ) ) );
-        assertEquals( 0, JavadocVersion.parse( "1.4.2" ).compareTo( JavadocVersion.parse( "1.4.2" ) ) );
-        assertEquals( 0, JavadocVersion.parse( "9" ).compareTo( JavadocVersion.parse( "9" ) ) );
+        assertThat( JavadocVersion.parse( "1.4" ) ).isEqualByComparingTo( JavadocVersion.parse( "1.4" ) );
+        assertThat( JavadocVersion.parse( "1.4.2" ) ).isEqualByComparingTo( JavadocVersion.parse( "1.4.2" ) );
+        assertThat( JavadocVersion.parse( "9" ) ).isEqualByComparingTo( JavadocVersion.parse( "9" ) );
 
-        assertTrue( JavadocVersion.parse( "1.4.2" ).compareTo( JavadocVersion.parse( "1.4" ) ) > 0 );
-        assertTrue( JavadocVersion.parse( "1.5" ).compareTo( JavadocVersion.parse( "1.4" ) ) > 0 );
-        assertTrue( JavadocVersion.parse( "9" ).compareTo( JavadocVersion.parse( "1.8" ) ) > 0 );
+        assertThat( JavadocVersion.parse( "1.4.2" ) ).isGreaterThan( JavadocVersion.parse( "1.4" ) );
+        assertThat( JavadocVersion.parse( "1.5" ) ).isGreaterThan( JavadocVersion.parse( "1.4" ) );
+        assertThat( JavadocVersion.parse( "9" ) ).isGreaterThan( JavadocVersion.parse( "1.8" ) );
     }
     
     @Test
     public void testApiVersion() {
         Pattern p = Pattern.compile( "(1\\.\\d|\\d\\d*)" );
         Matcher m = p.matcher( "9" );
-        assertTrue(m.find());
-        assertEquals( "9", m.group( 1 ));
+        assertThat( m.find() ).isTrue();
+        assertThat( m.group( 1 ) ).isEqualTo( "9" );
 
         m = p.matcher( "1.4" );
-        assertTrue(m.find());
-        assertEquals( "1.4", m.group( 1 ));
+        assertThat( m.find() ).isTrue();
+        assertThat( m.group( 1 ) ).isEqualTo( "1.4" );
 
         m = p.matcher( "1.4.2" );
-        assertTrue(m.find());
-        assertEquals( "1.4", m.group( 1 ));
+        assertThat( m.find() ).isTrue();
+        assertThat( m.group( 1 ) ).isEqualTo( "1.4" );
     }
 }
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/TestJavadocReportTest.java b/src/test/java/org/apache/maven/plugins/javadoc/TestJavadocReportTest.java
index 7ada0da..450db32 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/TestJavadocReportTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/TestJavadocReportTest.java
@@ -28,6 +28,8 @@ import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.FileUtils;
 
+import static org.assertj.core.api.Assertions.assertThat;
+
 /**
  * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
  */
@@ -61,9 +63,9 @@ public class TestJavadocReportTest
 
         File generatedFile =
             new File( getBasedir(), "target/test/unit/test-javadoc-test/target/site/apidocs/maven/AppTest.html" );
-        assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) );
+        assertThat( generatedFile ).exists();
         
         File options = new File( getBasedir(), "target/test/unit/test-javadoc-test/target/site/apidocs/options");
-        FileUtils.fileRead( options ).contains( "junit-3.8.1.jar" );
+        assertThat( FileUtils.fileRead( options ) ).contains( "junit-3.8.1.jar" );
     }
 }
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/options/io/xpp3/JavadocOptionsXpp3ReaderTest.java b/src/test/java/org/apache/maven/plugins/javadoc/options/io/xpp3/JavadocOptionsXpp3ReaderTest.java
index 1966492..118b26a 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/options/io/xpp3/JavadocOptionsXpp3ReaderTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/options/io/xpp3/JavadocOptionsXpp3ReaderTest.java
@@ -19,14 +19,14 @@ package org.apache.maven.plugins.javadoc.options.io.xpp3;
  * under the License.
  */
 
-import static org.junit.Assert.assertEquals;
-
 import java.io.StringReader;
 
 import org.apache.maven.plugins.javadoc.options.JavadocOptions;
 import org.apache.maven.plugins.javadoc.options.Tag;
 import org.junit.Test;
 
+import static org.assertj.core.api.Assertions.assertThat;
+
 public class JavadocOptionsXpp3ReaderTest
 {
 
@@ -37,10 +37,10 @@ public class JavadocOptionsXpp3ReaderTest
         StringReader reader = new StringReader(testString);
 
         JavadocOptions options = parser.read(reader);
-        assertEquals(1, options.getTags().size());
+        assertThat( options.getTags().size() ).isEqualTo( 1 );
         Tag tag = options.getTags().get(0);
-        assertEquals("foo", tag.getName());
-        assertEquals("bar", tag.getHead());
+        assertThat( tag.getName() ).isEqualTo( "foo" );
+        assertThat( tag.getHead() ).isEqualTo( "bar" );
     }
     
     @Test
@@ -50,10 +50,10 @@ public class JavadocOptionsXpp3ReaderTest
         StringReader reader = new StringReader(testString);
 
         JavadocOptions options = parser.read(reader);
-        assertEquals(1, options.getTags().size());
+        assertThat( options.getTags().size() ).isEqualTo( 1 );
         Tag tag = options.getTags().get(0);
-        assertEquals("foo", tag.getName());
-        assertEquals("Xaoptcmf", tag.getPlacement());
+        assertThat( tag.getName() ).isEqualTo( "foo" );
+        assertThat( tag.getPlacement() ).isEqualTo( "Xaoptcmf" );
     }
 
 }
diff --git a/src/test/resources/unit/default-configuration/def/configuration/App.java b/src/test/resources/unit/default-configuration/def/configuration/App.java
index b7ab0b2..4bf8536 100644
--- a/src/test/resources/unit/default-configuration/def/configuration/App.java
+++ b/src/test/resources/unit/default-configuration/def/configuration/App.java
@@ -22,6 +22,9 @@ package def.configuration;
 public class App
 {
 
+    @Deprecated
+    public int notUsed = 0;
+
     public static void main( String[] args )
     {
         System.out.println( "Sample Application." );
diff --git a/src/test/resources/unit/default-configuration/def/configuration/AppSample.java b/src/test/resources/unit/default-configuration/def/configuration/AppSample.java
index 411094c..6f04709 100644
--- a/src/test/resources/unit/default-configuration/def/configuration/AppSample.java
+++ b/src/test/resources/unit/default-configuration/def/configuration/AppSample.java
@@ -26,7 +26,7 @@ package def.configuration;
  */
 public class AppSample
 {
-
+    public static final String CONST = "My Constant";
     /**
      * The main method
      *