问题标签 [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 投票
0 回答
588 浏览

android - Spyk 与泛型

我想将spyk用于泛型类。它会产生 StackOverflowError。不可能使用每个 { childClazz.foobar(view) } 只是 Runs并且super.foobar(view)肯定需要被调用

这是一个堆栈跟踪:

可以在这里使用spyk吗?我需要它用于私有方法。

0 投票
1 回答
1688 浏览

android - 如何使用 Mockk 模拟和测试 RxJava/RxAndroid?

我想用 来模拟和测试我PresenterObservable,但我不知道该怎么做,代码的主要部分如下:

我得到了错误: Verification failed: call 2 of 3: IView(#2).hideProgress()) was not called.

那么,如何在 Android 单元测试中使用 Mockk 测试 Rx 的东西呢?提前致谢!

0 投票
2 回答
2296 浏览

android - 无法模拟 android.util.Patterns.EMAIL_ADDRESS.pattern()

目前我正在使用 MockK 库(版本 1.8.1)在 Android Dev 中进行单元测试,我的问题是我无法模拟 Patterns.EMAIL_ADDRESS。每次调用此属性时,测试用例都会抛出 NPE。

我试过mockkStatic(Patterns::class)了,但 @Before 方法在应用规则时会因 NPE 而崩溃every { Patterns.EMAIL_ADDRESS.pattern() } returns EMAIL_REGEX_STRING

我正在尝试测试的课程:

0 投票
3 回答
9390 浏览

kotlin - 模拟私有财产

假设我们有一个这样的类:

根据文档,看起来我应该能够执行以下操作:

但是我得到了错误:io.mockk.MockKException: Missing calls inside every { ... } block

我正在使用 mockk 1.8.5,kotlin 1.2.51

0 投票
2 回答
8611 浏览

kotlin - Kotlin 单元测试 - 如何模拟 Companion 对象的组件?

如果我有一个看起来像这样的(简化的)类:

在进行单元测试时,我到底如何模拟伴随对象中的组件?

我尝试过使用 Mockito、MockK 等各种技巧,但遇到了一些障碍。

CUT(被测类)是另一个使用 MyManager 组件在其 init 块中注入其依赖项的类,如下所示:

基本上,如果注入什么都不做,我会很高兴,因为我可以在外部设置依赖项以进行测试。

所有帮助表示赞赏。包括如果你认为我写错了。我对 Kotlin 和 Dagger 比较陌生。谢谢。

0 投票
2 回答
763 浏览

spring - 如何在 MockK 中实现类似 @Capturing 的行为?

我们使用 JMockit 模拟框架对 Spring 应用程序单元进行了测试。现在我们想使用 MockK 在 Kotlin 中编写新的测试。几乎一切似乎都运行良好,但我们无法弄清楚如何模拟 Spring 自动装配的 bean。使用 JMockit,我们曾经使用 @Capturing 注释来扩展模拟,也用于实现模拟接口的类。如何在 MockK 框架中实现模拟的类似行为?

0 投票
3 回答
15114 浏览

unit-testing - 用 mockk 一次只模拟一个电话

我知道为了模拟方法的响应方式,您必须使用

我试图模拟一个迭代器,你必须模拟2个方法hasNext()和next(),如果hasNext()总是返回true,就会有一个无限循环,如果它从一开始就返回false,next()不会返回任何东西。

我的问题是:有没有办法用 mocki 一个一个地模拟单个调用,就像你可以在 mockito 中那样?我在文档中找不到任何内容。

0 投票
2 回答
5606 浏览

kotlin - 如何使用 MockK 在 android 测试中模拟私有函数?

我似乎无法在 android 测试中模拟私有函数。我还在使用全开放插件进行 pre-P 测试。在非安卓测试上,它运行没有问题。我认为它也应该在 android 上工作,因为它在 MockK-android 上被标记。这没有实施还是我遗漏了一些明显的东西?


失败并出现异常,因为缺少私有函数。
io.mockk.MockKException:找不到用于动态调用的函数 privateFun()

0 投票
1 回答
1107 浏览

rx-kotlin - 如何使用 MockK 模拟 observable

我有一个Observable<Int>作为公共 API 一部分的数据提供者。我正在测试的班级将其映射到Observable<String>.

如何创建一个模拟,以便它可以在数据提供者的 observable 上发送不同的值?

我可以使用Fake对象来完成,但我认为 MockK 不需要做很多工作。

简化代码:

0 投票
1 回答
1164 浏览

kotlin - 用 mockk 模拟 OffsetDateTime.now

试图用 mockk 模拟 OffsetDateTime.now(),但它抛出

Missing calls inside every { ... } block

我试过了:

也试过: