问题标签 [mockk]

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 回答
3223 浏览

kotlin - 无法使用 mockk 测试回调:invoke(any())) 未被调用

给定

或者

两者都有我在做的时候得到上面的错误(Verification failed: call 1 of 1: MyCallback(#2).invoke(any())) was not called

如何解决?

0 投票
0 回答
813 浏览

android - 使用 FusedLocationProviderClient 模拟和 Koin 进行依赖注入的单元测试

在我们的 Android 应用程序中,我们使用 Google Maps API 来显示用户位置。目前,我们正在使用 Koin 将 FusedLocationProviderClient 依赖项的参数化注入(它需要一个活动)提供到我们的 Fragment 类中。从理论上讲,这应该可以更直接地测试和模拟 Client 类(使用 mockk)。但是,在尝试使用 Android FragmentScenario 运行测试时,测试似乎在某处陷入无限循环(调试没有给出原因的答案)。有没有人对如何与我们正在使用的框架一起测试这个有任何进一步的想法。Android/Google 文档没有提供任何帮助,也没有提供数小时的网络搜索。

我们尝试在注入和不注入 FusedLocationProvideClient 的情况下进行测试。我们尝试在我们的测试类中启动 Koin 测试模块,使用活动进行参数化,而没有,似乎没有任何区别。FusedLocationProviderClient 被轻松设置为 true。

测试类:

片段类:

陷入无限循环

0 投票
0 回答
1328 浏览

kotlin - Mockk 调用方法而不是模拟依赖

嗨,我的生产代码中有类似的东西。一个会抛出异常的简单方法:

然而,当我Production用 Mockk 模拟这个类时,它运行底层doWork()方法而不是模拟方法调用:

测试失败,出现java.lang.IllegalArgumentException. Mockk 不应该在Production课堂上模拟这个方法调用吗?我有一种感觉,这可能是我来自 Mockito 背景的误解。

0 投票
2 回答
8822 浏览

android - 在 Android 中测试 SharedPreferences

我正在进入一个使用 SharedPreferences 进行数据持久性的遗留代码库。我想测试保存/检索一个值,使用MockK进行模拟。但是,此单元测试中的断言永远不会通过。就好像 SharedPrefs 在测试中没有正确存储:

有人知道如何对 SharedPrefs 进行单元测试吗?

0 投票
1 回答
10223 浏览

kotlin - 模拟异常 - 没有找到答案

使用 mockk 测试 kotlin 功能。

当我尝试运行它时,我收到此错误:

知道为什么吗?

ServiceToBeTestd 是要测试的服务,Service 连接在其中:

0 投票
1 回答
5126 浏览

spring-boot - kotlin:模拟注入的单元测试(mockK)

我按照许多博客的分步说明使用 MockK 实现模拟:

我想注入externalApi我的 SWService服务并模拟get注入对象(externalApi)的方法,但似乎忽略了模拟。

日志:

在我的SWService文件中,externalApi在伴随对象中初始化:

我的实施有问题吗?谢谢

0 投票
1 回答
3743 浏览

kotlin - 继续模拟扩展

我想模拟resumeresumeWithException来自标准库Continuation类。两者都是扩展功能。

这是我的 JUnit 设置函数:

但是这不起作用,在resumeWithException函数的模拟中抛出以下异常:

这是与以下代码resumeWithException非常相似的代码resume

0 投票
1 回答
438 浏览

android - Gradle 失败:无法解决:删除 kotlintest 后的 io

我创建了一个新的 Android 项目并在仪器测试和单元测试中设置了 mock:

Gradle 同步很好。

如果我添加 kotlintest 并再次同步一切正常:

但是,如果我删除 kotlintest 并像添加 kotlintest 之前一样保留 gradle 文件,则会收到错误消息:

这是我最终的 Gradle 文件:

我尝试清理项目并清理 gradle。

知道为什么会这样吗?

谢谢

0 投票
1 回答
1587 浏览

android - 使用 Mockk 模拟语言环境

我正在尝试使用Mockk来模拟对 的调用Locale.getDefault(),但是我似乎无法使其正常工作。有没有人成功地用来Mockk模拟Locale

我非常简单的测试课

我得到的错误

0 投票
1 回答
3426 浏览

java - Kotlin Mockito 总是返回作为参数传递的对象

我试图在我的模拟对象上使用 Mockito,使其始终返回作为参数传入的相同对象。我试过这样做:

但是,这条线总是失败:

insert(user: User)方法不接受null作为参数(显然User不是可为空的类型)。

如何使该insert()方法始终返回它作为参数接收的相同对象?