因为我需要在 Kotlin 中使用 Mockk 测试传递的发布函数参数是否正确
下面是代码:
val notificationData = NotificationData(
notificationId = "test-notificationID",
operation = "CREATE",
partnerName = "test-partner",
created = Instant.now().toEpochMilli().toString(),
services = []
)
verify(exactly = 1) { publish(notificationData) }
但是由于notificationData对象中的created属性将在模拟以及被调用函数中具有实时值,因此两者都不匹配并给出以下错误
验证失败:调用 1 of 1:publish(eq(NotificationData(notificationId=test-notificationId, partnerName=test-partner, operation=CREATE, mutatedAttributes=null, services=[], created=1633719398360))))。只发生了一次对 Notification(object Notification)/publish(NotificationData) 的匹配调用,但参数不匹配:[0]:参数:NotificationData(notificationId=test-notificationId, partnerName=test-partner, operation=CREATE, mutatedAttributes=null , services=[], created=1633719398404), matcher: eq(NotificationData(notificationId=test-notificationId, partnerName=test-partner, operation=CREATE, mutatedAttributes=null, services=[], created=1633719398360)), 结果: -
任何人都请帮我找出来,我怎样才能忽略“created”属性来获得测试成功