Any() 方法无法在 Java 1.8 中使用 Mockito 1.10.9 进行编译

Any() method fails to compile in Java 1.8 with Mockito 1.10.9

我的以下代码适用于 Java 1.7,Mockito 版本为 1.10.19。

@Test
public void populateUsersEmpty() {

    // arrange
    List<UserDTO> users = new ArrayList<UserDTO>();

    // act
    requestBuilder.populateUsers(mxsMessageOutMock, users);

    // assert
    verify(mxsMessageOutMock, times(0)).addRecordSet(CreateNewAlertRequestBuilder.MXS_RECORDSETNAME_USERS);
    verify(mxsMessageOutMock, times(0)).addFieldNewRecord(anyString(), anyString());
    verify(mxsMessageOutMock, times(0)).addField(anyString(), any());

}

但是当我使用相同版本的 Mockito 移动到 Java 1.8 时,它开始显示以下错误(粗体)。当我查看 Mockito 网站时,我发现 Mockito 3 尚未支持 java 8。如果支持,那么解决方案是什么?我应该等待他们发​​布还是有什么办法可以解决这个问题。我尝试传递 AnyString() 代替 any() 但我的代码仍然中断。甚至 anyObject() 也没有帮助我。

verify(mxsMessageOutMock, ti​​mes(0)).addField(anyString(), anyString());

CreateNewAlertRequestBuilderTest.java:436:0::0 方法 addField(String, String) 对于 IMXSMessageOut 类型不明确 [ant:iajc] [error 7]: 验证错误(mockMessageOut, times(0)).addField(anyString(), any());

我知道如果没有完整的代码很难提出建议,但在这里我可以分享一段代码。

any(String.class)?如果 addField 正在接受 String, String 为什么不使用 anyString(), anyString()