问题标签 [mockk-verify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
89 浏览

android - 使用 mockk 验证构造函数 lambda

我想验证 lambda 调用的调用次数。

此 lambda 用作传递状态更改的回调。我想限制 lambda 只能通过构造函数使用。

当 lambda 在构造函数参数中时,有什么方法可以测试这个?

尝试了以下方法,但这似乎不起作用。

0 投票
0 回答
614 浏览

android - 如何在视图绑定中使用 mockk

嗨,我是 Mockk 库 Kotlin 的新手。我想在单元测试中模拟视图绑定。但我无法得到适当的例子。我搜索可以模拟/测试 Android ViewBinding 交互吗? 我不想使用@RunWith(PowerMockRunner::class)。有没有人对此有更好的解决方案。

在@Eddie 回复后,我尝试了我的基本代码。

测试班

我收到此错误

0 投票
1 回答
244 浏览

unit-testing - mockk,如何为 MutableMap 使用插槽

使用模拟 1.9.3

有待验证的功能

类 EventLogger 私有构造函数()

内部乐趣 internaLogEventImpl(eventName: String?, customParams: MutableMap<String, String>?) { ...... }

在每个 {eventLogger.internaLogEventImpl(any(), mapSlot)} 处得到编译器错误 在此处输入图像描述

类型不匹配。必需:MutableMap<String, String>? 发现: CapturingSlot<MutableMap<String, String>> 在下面尝试时:

类TestK {

}

0 投票
1 回答
199 浏览

kotlin - mockk,如何验证抛出特定异常

使用 mockk 1.9.3,junit 4

具有报告不同条件的异常的功能,需要测试并验证是否报告了正确的异常。

考试

0 投票
0 回答
462 浏览

android - MockK - 是否支持在同一测试中使用不同的“exact =”多次调用 verify()?

我有奇怪的行为。我有一个单元测试,它做了一些事情,然后执行以下验证语句:

此测试在第二次调用时失败,verify()并出现以下错误:

这是没有意义的。它似乎使用了第二次调用中的“确切”参数,但使用了 第一次verify()调用中的代码块。 verify()

我错过了什么吗?verify()是否支持使用不同exactly=参数的多次调用?

0 投票
1 回答
36 浏览

kotlin - 验证 verifyOrder 中的确切调用次数

我想验证是否按特定顺序调用了多个函数,但其​​中一个函数被调用了 N 次:

如何指定上面的“exactly = 10”?

0 投票
1 回答
136 浏览

kotlin - 如何使用 Mockk 的验证方法忽略对传入函数的参数中的一个属性的测试

因为我需要在 Kotlin 中使用 Mockk 测试传递的发布函数参数是否正确

下面是代码:

但是由于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”属性来获得测试成功

0 投票
0 回答
201 浏览

android - 使用挂起高阶函数作为 Mockk 的参数来模拟私有函数

val condition: suspend () -> AppResult<Playlist>实际上的问题是,由于可暂停的 lambda 作为争论( ),我无法模拟私有函数

所以,在这方面我需要你的帮助。

要测试的代码,

测试文件:

}

例外:

0 投票
1 回答
49 浏览

kotlin - Mockk Kotlin 中的分支覆盖

我在 Kotlin 中使用mockk库。我正在覆盖分支机构。我是测试新手。有人能告诉我如何覆盖所有分支吗?在下面给出的示例中,它有两个对象,一个是 id 作为字符串,而隐藏的名称是list。谢谢

在此处输入图像描述

有人能解释一下这12个分支是什么吗?

0 投票
1 回答
195 浏览

android - 如何在 Mockk Kotlin 中测试异步功能

我想测试这个功能。

如何在 mockk 中测试此功能