当前使用版本(必填,否则不予处理)
mybatisplus版本为:3.5.3.1 mockito框架的版本是:4.6.1
该问题是如何引起的?(确定最新版也有问题再提!!!)
这是简单的业务链式调用。更新
`public Boolean updatePolicyIndicatorReviewedByPolicyNo(String policyNo) {
return policyIndicatorService.lambdaUpdate()
.set(PolicyIndicatorEntity::getReviewed, Boolean.TRUE)
.eq(PolicyIndicatorEntity::getPolicyNo, policyNo)
.update();
}
`
重现步骤(如果有就写完整)
这是测试方法 `@Test public void testUpdatePolicyIndicatorReviewedByPolicyNo() {
// 创建模拟对象
LambdaUpdateChainWrapper<PolicyIndicatorEntity> mockWrapper = mock(LambdaUpdateChainWrapper.class);
PolicyIndicatorDAO policyIndicatorDAO = mock(PolicyIndicatorDAO.class);
// 设置方法链调用的返回值
when(policyIndicatorDAO.lambdaUpdate()).thenReturn(mockWrapper);
when(mockWrapper.set(PolicyIndicatorEntity::getReviewed, anyBoolean())).thenReturn(mockWrapper);
when(mockWrapper.eq(any(), eq("policyNo"))).thenReturn(mockWrapper);
when(mockWrapper.update()).thenReturn(false);
// 调用方法
boolean result = indicatorServiceImplUnderTest.updatePolicyIndicatorReviewedByPolicyNo("policyNo");
// 验证结果
assertFalse(result);
verify(policyIndicatorDAO).lambdaUpdate();
verify(mockWrapper).set(any(), any());
verify(mockWrapper).eq(any(), eq("policyNo"));
verify(mockWrapper).update();
}`
报错信息
org.mockito.exceptions.misusing.InvalidUseOfMatchersException: Invalid use of argument matchers! 2 matchers expected, 1 recorded: -> at com.manulife.hk.service.impl.IndicatorServiceImplTest.testUpdatePolicyIndicatorReviewedByPolicyNo(IndicatorServiceImplTest.java:136)
This exception may occur if matchers are combined with raw values: //incorrect: someMethod(any(), "raw String"); When using matchers, all arguments have to be provided by matchers. For example: //correct: someMethod(any(), eq("String by matcher"));
For more info see javadoc for Matchers class.
Comment From: 15281753095
已经弄好了。谢谢大佬们