diff --git a/src/test/java/com/googlesource/gerrit/plugins/xdocs/formatter/AsciidoctorFormatterTest.java b/src/test/java/com/googlesource/gerrit/plugins/xdocs/formatter/AsciidoctorFormatterTest.java
index 236eeb4..89dddb4 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/xdocs/formatter/AsciidoctorFormatterTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/xdocs/formatter/AsciidoctorFormatterTest.java
@@ -37,7 +37,7 @@
     FormatterUtil util = createNiceMock(FormatterUtil.class);
 
     // To simplify things, make applyCss() a no-op and return the HTML code as-is.
-    expect(util.applyCss(anyString(), anyString(), anyString())).andAnswer(
+    expect(util.applyCss(anyObject(), anyObject(), anyObject())).andAnswer(
       new IAnswer<String>() {
         @Override
         public String answer() throws Throwable {
@@ -57,7 +57,7 @@
     Formatters formatters = createNiceMock(Formatters.class);
 
     // Avoid a NPE by just returning the ConfigSection mock object.
-    expect(formatters.getFormatterConfig(anyString(), anyString())).andReturn(cfg);
+    expect(formatters.getFormatterConfig((String) anyObject(), (String) anyObject())).andReturn(cfg);
 
     replay(formatters);
 
diff --git a/src/test/java/com/googlesource/gerrit/plugins/xdocs/formatter/MarkdownFormatterTest.java b/src/test/java/com/googlesource/gerrit/plugins/xdocs/formatter/MarkdownFormatterTest.java
index 8294f30..931c04a 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/xdocs/formatter/MarkdownFormatterTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/xdocs/formatter/MarkdownFormatterTest.java
@@ -38,7 +38,7 @@
     FormatterUtil util = createNiceMock(FormatterUtil.class);
 
     // For easier result comparison, avoid the internal MarkdownFormatter to apply the default CSS.
-    expect(util.getInheritedCss(anyString(), anyString(), anyString(), anyString())).andReturn("");
+    expect(util.getInheritedCss(anyObject(), anyObject(), anyObject(), anyObject())).andReturn("");
 
     replay(util);
 
@@ -50,7 +50,7 @@
     Formatters formatters = createNiceMock(Formatters.class);
 
     // Avoid a NPE by just returning the ConfigSection mock object.
-    expect(formatters.getFormatterConfig(anyString(), anyString())).andReturn(cfg);
+    expect(formatters.getFormatterConfig((String) anyObject(), (String) anyObject())).andReturn(cfg);
 
     replay(formatters);
 
