问题标签 [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.

0 投票
1 回答
5208 浏览

unit-testing - 如何使用 mockk.io 模拟内部构造的实例?

我正在为 FileUtility 类的伴随对象中定义的静态方法在 mockk 和 Junit5 中编写单元测试用例。

方法如下,

单元测试用例如下,

收到以下错误,

此外,该verify { file.isHidden}行不工作,它给出了以下错误。

0 投票
0 回答
236 浏览

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'

0 投票
0 回答
236 浏览

android - PowerMockito.verifyStatic 抛出 NotAMockException

由于我是新来使用 Mockito/PowerMock 等编写单元测试,因此我正在尝试遵循文档。这里提到我们应该在每次验证行为之前调用 verifyStatic https://github.com/powermock/powermock/wiki/Mockito#how-to-verify-behavior

但是在这里,当我这样做时,它给了我不是模拟异常。

这是我的 build.gradle 配置:

注意:- 如果我评论 veirifyStatic() 的行,则测试运行并通过。

Powermock 中是否有不需要我们调用 verifyStatic() 的更改?

0 投票
0 回答
256 浏览

android - 使用 mockito-kotlin 模拟 Kotlin 挂起函数时出现 ExceptionInInitializerError

我正在 Android (/test) 中编写 Kotlin 单元测试,在模拟挂起函数时出现错误

我在用着 testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0"

并有一些代码:

我也尝试过传统的whenever(foo.bar()).thenReturn(testResponse),但我得到了同样的错误

当我运行测试时,我得到了这个异常:

0 投票
2 回答
1811 浏览

kotlin - 如何模拟 Kotlin 的 List.forEach?

对于下面给定的代码,在 Kotlin 中,无法执行该函数forEach(或任何类似的,map, filter,等等...),因为BarList 它是模拟的。forEach所以没有调用和亲属的本机实现。在互联网上进行了一些搜索后,我得到了这个:

我根据这个问题的答案在上面尝试了这个:https ://stackoverflow.com/a/49407513/2430555

我也试过:

但它导致:

forEachKotlin 源码中的定义是:

我想我应该用any()匹配的东西替换action: (T) -> Unit,但我不知道该怎么做。如果需要,我不介意使用交互器,但我至少需要forEach按预期运行。你们能帮帮我吗?

问候,

佩德罗

0 投票
0 回答
323 浏览

mysql - 我们如何为使用 SQLDelight 的应用程序编写单元测试?

我正在编写一个 Kotlin JVM 应用程序,它使用 SQLDelight 生成需要与 MySQL 数据库交互的类。

如何为使用 SQLDelight 库生成的类的类/服务编写单元测试?

例如,SQLDelight 生成的接口如下:

在我的应用程序的某个地方,我有myService.findAllAddressForName(name: String),它会做类似的事情someDB.someTableQueries.querySomething(name)

那么单元测试的最佳方法是什么myService.findAllAddressForName

如果我需要使用Mockitoor之类的库mockito-kotlin,我应该模拟哪些类?我有没有更好的方法来为这些编写测试?谢谢。

0 投票
3 回答
17688 浏览

android - Mockito 3.4.0 静态模拟异常

尝试模拟静态方法时出现以下异常。

对于 SettingsUtility,静态模拟已经注册在当前线程中要创建一个新的模拟,必须取消现有的静态模拟注册

0 投票
2 回答
140 浏览

kotlin - 如何在 Kotlin 中指定 Mockito 模拟 extraInterfaces(使用 nhaarman mockitokotlin2)

我了解如何使用@Mock注释指定 extraInterface,但是如何创建模拟并添加extraInterfaces内联?

但是我怎么能在飞行中做到这一点呢?

extraInterfaces在 Kotlin 中添加到 Mockito 模拟的正确语法是什么?

0 投票
0 回答
140 浏览

android - 将 Spek 与挂起方法一起使用

我正在尝试在我的 Android Kotlin 项目中使用 Spek 框架和 nhaarman mockito kotlin 创建一个单元测试。问题是当有嵌套的挂起方法时,我不知道如何模拟响应。这就是我正在尝试的方式

我定义:

在任何描述之前

这是我的小组

但我收到以下错误

似乎模拟、方法执行和断言在不同的范围内运行

我找不到任何可以帮助我使用协程创建测试的指南 在此先感谢

0 投票
1 回答
368 浏览

android - 如何将库添加到 testImplementation 和 androidTestImplementation

用于testand android tests、单元测试和 UI 测试的 kotlin 库。

如果我将下面两行作为 build.gradle 的一部分编写,它可以正常工作。

我的问题是,这是添加要在测试和 android 测试中使用的库的正确方法吗

构建.gradle

感谢您的宝贵建议

谢谢R