问题标签 [mockito-kotlin]
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.
unit-testing - 如何使用 mockk.io 模拟内部构造的实例?
我正在为 FileUtility 类的伴随对象中定义的静态方法在 mockk 和 Junit5 中编写单元测试用例。
方法如下,
单元测试用例如下,
收到以下错误,
此外,该verify { file.isHidden}
行不工作,它给出了以下错误。
android - Mockito-Kotlin 异常:UnfinishedStubingException
我正在用 Cucumber 和 mockito_kotlin 编写 BDD 测试。验证函数如下:
Cookie接口:
我在测试课上的 mockCookie:
但是我遇到了这些错误:
org.mockito.exceptions.misusing.UnfinishedStubbingException:在此处检测到未完成的存根:-> 在 com.nhaarman.mockito_kotlin.MockitoKt.whenever(Mockito.kt:253)
例如 thenReturn() 可能会丢失。
正确的存根示例:
when(mock.isOk()).thenReturn(true);
when(mock.isOk()).thenThrow(异常);
doThrow(exception).when(mock).someVoidMethod();
提示:
1. 缺少 thenReturn()
2. 您正在尝试存根不支持的最终方法
3:如果完成,您正在存根在 'thenReturn' 指令之前内部另一个模拟的行为
我不知道我反对哪个tule。有人遇到过类似的问题吗?
相关工具的版本为:
testImplementation 'org.mockito:mockito-core:3.2.4'
testImplementation 'com.nhaarman:mockito-kotlin:1.5.0'
testImplementation 'org.hamcrest:hamcrest-library:1.3'
android - PowerMockito.verifyStatic 抛出 NotAMockException
由于我是新来使用 Mockito/PowerMock 等编写单元测试,因此我正在尝试遵循文档。这里提到我们应该在每次验证行为之前调用 verifyStatic https://github.com/powermock/powermock/wiki/Mockito#how-to-verify-behavior
但是在这里,当我这样做时,它给了我不是模拟异常。
这是我的 build.gradle 配置:
注意:- 如果我评论 veirifyStatic() 的行,则测试运行并通过。
Powermock 中是否有不需要我们调用 verifyStatic() 的更改?
android - 使用 mockito-kotlin 模拟 Kotlin 挂起函数时出现 ExceptionInInitializerError
我正在 Android (/test) 中编写 Kotlin 单元测试,在模拟挂起函数时出现错误
我在用着 testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0"
并有一些代码:
我也尝试过传统的whenever(foo.bar()).thenReturn(testResponse)
,但我得到了同样的错误
当我运行测试时,我得到了这个异常:
kotlin - 如何模拟 Kotlin 的 List.forEach?
对于下面给定的代码,在 Kotlin 中,无法执行该函数forEach
(或任何类似的,map
, filter
,等等...),因为BarList
它是模拟的。forEach
所以没有调用和亲属的本机实现。在互联网上进行了一些搜索后,我得到了这个:
我根据这个问题的答案在上面尝试了这个:https ://stackoverflow.com/a/49407513/2430555
我也试过:
但它导致:
forEach
Kotlin 源码中的定义是:
我想我应该用any()
匹配的东西替换action: (T) -> Unit
,但我不知道该怎么做。如果需要,我不介意使用交互器,但我至少需要forEach
按预期运行。你们能帮帮我吗?
问候,
佩德罗
mysql - 我们如何为使用 SQLDelight 的应用程序编写单元测试?
我正在编写一个 Kotlin JVM 应用程序,它使用 SQLDelight 生成需要与 MySQL 数据库交互的类。
如何为使用 SQLDelight 库生成的类的类/服务编写单元测试?
例如,SQLDelight 生成的接口如下:
在我的应用程序的某个地方,我有myService.findAllAddressForName(name: String)
,它会做类似的事情someDB.someTableQueries.querySomething(name)
。
那么单元测试的最佳方法是什么myService.findAllAddressForName
?
如果我需要使用Mockito
or之类的库mockito-kotlin
,我应该模拟哪些类?我有没有更好的方法来为这些编写测试?谢谢。
android - Mockito 3.4.0 静态模拟异常
尝试模拟静态方法时出现以下异常。
对于 SettingsUtility,静态模拟已经注册在当前线程中要创建一个新的模拟,必须取消现有的静态模拟注册
kotlin - 如何在 Kotlin 中指定 Mockito 模拟 extraInterfaces(使用 nhaarman mockitokotlin2)
我了解如何使用@Mock
注释指定 extraInterface,但是如何创建模拟并添加extraInterfaces
内联?
但是我怎么能在飞行中做到这一点呢?
extraInterfaces
在 Kotlin 中添加到 Mockito 模拟的正确语法是什么?
android - 将 Spek 与挂起方法一起使用
我正在尝试在我的 Android Kotlin 项目中使用 Spek 框架和 nhaarman mockito kotlin 创建一个单元测试。问题是当有嵌套的挂起方法时,我不知道如何模拟响应。这就是我正在尝试的方式
我定义:
在任何描述之前
这是我的小组
但我收到以下错误
似乎模拟、方法执行和断言在不同的范围内运行
我找不到任何可以帮助我使用协程创建测试的指南 在此先感谢
android - 如何将库添加到 testImplementation 和 androidTestImplementation
用于test
and android tests
、单元测试和 UI 测试的 kotlin 库。
如果我将下面两行作为 build.gradle 的一部分编写,它可以正常工作。
我的问题是,这是添加要在测试和 android 测试中使用的库的正确方法吗
构建.gradle
感谢您的宝贵建议
谢谢R