scala断言对象等于
在我的scala测试中,我需要验证某个方法在对象上调用了两次scala断言对象等于,scala,mockito,Scala,Mockito,在我的scala测试中,我需要验证某个方法在对象上调用了两次emailPermissionModel,并且在调用该方法时捕获了参数,最后我将捕获的参数与预期结果进行了比较,尽管捕获的参数的打印输出与预期结果相同,但测试仍然失败,我不明白为什么 以下是我的测试代码: val emailPermissionDtoCaptor = ArgumentCaptor.forClass(classOf[EmailPermissionDTO]) verify(emailPermissionModel, time
emailPermissionModel
,并且在调用该方法时捕获了参数,最后我将捕获的参数与预期结果进行了比较,尽管捕获的参数的打印输出与预期结果相同,但测试仍然失败,我不明白为什么
以下是我的测试代码:
val emailPermissionDtoCaptor = ArgumentCaptor.forClass(classOf[EmailPermissionDTO])
verify(emailPermissionModel, times(2)).storePermission(emailPermissionDtoCaptor.capture())
val capturedemailPermissionDto = emailPermissionDtoCaptor.getAllValues
val expectedEmailPermDto1 = EmailPermissionDTO(
EMAIL_ADDRESS,
"topic1",
"1995-09-09")
expectedEmailPermDto1.equals(capturedemailPermissionDto.get(0).asInstanceOf[EmailPermissionDTO]) ==> it return false
我也试过了,还是返回false:
expectedEmailPermDto1 == capturedemailPermissionDto.get(0).asInstanceOf[EmailPermissionDTO])
我从未使用过mockito,但我知道在Scala中的return语句中不能使用
return
关键字。最好看看CapturedMailPermissionTo中有什么内容可以回答。有没有理由不做verify(emailPermissionModel,times(2))。storePermission(EmailPermissionTo)(电子邮件地址,“topic1”,“1995-09-09”)
?@Bruno:storePermission方法在emailPermissionModel上被调用了2次,但每次使用不同的EmailPermissionTo时,如何验证这两个EmailPermissionTo?只需执行2次验证验证(emailPermissionModel)。storePermission(ExpectedTo1);验证(emailPermissionModel).storePermission(预期为2);