问题标签 [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.
mockk - Calling a function of a spyk'd data class
I have a data class A with a function as follows:
I attempt the following mock in my test:
When I run a test written like this it fails with a NullPointerException on the line fun foo... in the data class.
Am I doing anything wrong or is this a bug in MockK?
kotlin - 如何使用 mockk 模拟新对象
我正在尝试使用 mockk 编写单元测试。
我试图弄清楚如何模拟对象的新实例。
例如,使用 PowerMockito 我们将编写:
如果我的测试的预期结果是 mockDog,我希望能够断言它等于我的实际结果:
我将如何使用 mockk 完成此任务?
提前致谢。
android - 延迟后模拟验证
verify
延迟后 最好的方法是什么?
例如,我进行了一个调用postDelayed
其他对象的方法调用,而我要验证的调用发生在该run()
块中。
例如,使用 Mockito,您可以执行以下操作:
Mockk 有惯用的或现有的方式吗?
kotlin - java.lang.IllegalStateException:@MockK 时找不到 sun.misc.Unsafe
使用 MockK 创建模拟时遇到问题。我已经尝试过使用没有 Kotlin 1.3 的 MockK 的 kotlin 1.2.* 版本,但它也没有帮助。
我该如何解决这个问题?这是因为 OpenJDK 11 的原因吗?
爪哇版:
构建.gradle
历史客户:
测试:
当我运行此测试时,我收到此错误
unit-testing - MockK中的`verifySequence`和`verifyOrder`有什么区别?
在 MockK 库的指南中,该示例并没有为我清除这一点。以下是文档中的示例:
kotlin - 如何使用 mockk 模拟协程的执行?
我正在尝试使用该mockk
框架在我的一个单元测试中设置一个模拟,该单元测试执行如下挂起函数:
mock.execute()
但是,如果我在启动的协程范围内调用,我发现测试会无限期挂起。如果我task()
直接在启动范围内调用,则测试运行良好。
尽管mockk 文档确实谈到了一些关于 coroutine mocking 的内容,但我找不到任何文档或示例来展示如何执行 coroutines 以响应在 mock 上调用挂起函数。
这是一个 SSCCE 展示了这一点:
使用以下依赖项:
http - 如何在 kotlin 中使用 mockk 和 fuel 模拟 POST 请求?
我正在使用燃料库在 kotlin 中发出一些 http 请求。我想使用 mockk 库测试该代码。我想出了如何模拟http请求。下面是代码。
我不喜欢any()
这里。我想具体说明一下http方法和url。我想根据被调用的 url 和正在使用的 http 方法返回特定的响应。
我想可能是我可以做以下
但我收到以下错误。
我在这里想念什么?
android - 模拟每个 { ... } 块内的缺失呼叫
我一直试图用 mockk 模拟一些东西:
我在 gradle 上有以下设置
所以我正在androidTest
为 SDK 编写一个并尝试模拟Foo.kt
. Foo 类没有什么不寻常的,只是直接class Foo(private val someParams) {
所以使用androidTestImplementation "io.mockk:mockk-android:1.8.13"
模拟去:
我总是遇到以下崩溃:
还试图收集信息:
- 在 JVM 测试文件夹中运行。它被嘲笑没有问题,但我无法以 JVM 运行我的测试
- 在模块
androidTest
内部运行。Foo
遇到同样的崩溃 - 使用 mockkClass(Foo::class)。发生了一些崩溃
- 使用注释
@MockK
和MockKAnnotations.init(this)
. 发生了一些崩溃。 Log.d
在every {
line 和 inside方法之前添加getData()
,似乎在模拟设置期间调用了类中的实际真实方法。这对我来说似乎非常奇怪。
知道这里出了什么问题吗?
编辑:
根据要求,完整代码。我目前正在研究一个孤立的项目以尝试隔离错误,所以 Foo 只是:
然后我有FooTest androidTest
:
android - 如何使用可为空的参数模拟私有方法
我使用 MockK 进行单元测试。我如何使用可为空和不可为空的参数来模拟私人通话?
我的方法:
已经尝试过:
一切都返回错误: