问题标签 [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.
java - Kotlin/Mockito:如何从 kotlin.Annotation 模拟“annotationClass”
我想模拟注释以检查根据给定注释返回结果的类的良好行为。
这是我使用 OneToOne 注释检查良好行为的测试之一:
当我运行测试时,出现以下错误:
org.mockito.exceptions.misusing.WrongTypeOfReturnValue:KClassImpl 不能由 annotationType() 返回 annotationType() 应该返回 Class
如果您不确定为什么会出现上述错误,请继续阅读。由于上述语法的性质,可能会出现上述问题,因为:
- 此异常可能发生在错误编写的多线程测试中。有关并发测试的限制,请参阅 Mockito 常见问题解答。
- 使用 when(spy.foo()).then() 语法对间谍进行存根。存根间谍更安全-
- 使用 doReturn|Throw() 系列方法。更多关于 Mockito.spy() 方法的 javadocs。
当 mockito 调用以下代码时会发生此错误:
如果我删除这一行,我可以毫无问题地模拟注解。(模拟 'fetch' 属性效果很好),但我的测试没有通过,因为我需要模拟 'annotationClass'
我不明白为什么我有错误,为什么错误与 annotationType() (java annotation method) 有关?
有谁知道如何解决这个问题?
android - 如何使用 livedata 对协程进行单元测试
在使用 mockK 学习单元测试的过程中,我遇到了这种情况:
我的视图模型:
虚拟存储库:
如何为 _spinner 编写单元测试,它的值在 refreshTitle 返回后是否发生了变化
提前致谢!
java - 无法在 Kotlin 中使用 Optional 模拟`willReturn`
我有一个方法
在 Java 中返回 Optional。所以我想在我的 Kotlin 单元测试中模拟该方法调用。
这是我的第一个猜测...
...但编译器说不
类型不匹配:推断类型是 Optional 但 Optional<User?>! 预计
所以我开始做val currentUser: User?
只是为了让编译器开心。
类型不匹配:推断类型是 Optional 但 Optional<User?>? 预计
类型不匹配:推断类型是用户?但 TypeVariable(T) 是预期的
现在我有点迷失了。我怎样才能让编译器满意?
android - Android 单元测试 Mockito 返回 null
我正在使用 Mockito 进行单元测试。
我想测试我的用例和模拟存储库,但有一些问题。
我让我的存储库的函数通过使用 mockito 返回 arraylist。(下面是代码)
并使用模拟存储库创建了用例。(下面也是代码)
SearchUseCase 的代码如下。
接下来,像这样使用这个用例。
我想检查我的模拟存储库是否有效。所以我使用模拟验证,但失败了。
但是下面的另一个测试成功了
我应该直接调用模拟函数吗?
谢谢你的答案。对不起我的英语
以下所有代码
unit-testing - 如何使用 Mockito 使用 lambda 模拟内联函数
使用 lambda 模拟内联函数时遇到问题。上课UserController
,尝试tracer
用函数模拟createSpan
。
用户控制器类:
createSpan
内联函数:
试过:
返回org.mockito.exceptions.misusing.InvalidUseOfMatchersException
返回java.lang.NullPointerException
尝试了不同的方法,但只返回org.mockito.exceptions.misusing.InvalidUseOfMatchersException
or java.lang.NullPointerException
。
我怎样才能用 lambda 模拟这个内联函数或忽略它,因为我不想测试这个函数?任何帮助表示赞赏。
spring-boot - Kotlin mockito 测试之间的冲突
当我一起运行它们时,我的测试类中有几个测试失败了。当我单独运行它们时,它们都运行良好。因此,我在多个测试中重用的模拟值必须存在一些冲突。
这是示例:
我错过了什么?我可以通过调试清楚地看到,当测试开始时,模拟值中有 2 个浆果,而不是在 berriesMapMock 中初始化的 1 个值。所以断言失败,因为结果总共有 3 个浆果,而不是 2 个。其中一个来自另一个单元测试......
我有 @BeforeEach 方法来重新初始化模拟,但是在我的几个测试中问题仍然存在。
android - Cannot initialize MockMaker
This is my testing class:
With the following dependencies:
I have created src/androidTest/resources/mockito-extensions/org.mockito.plugins.MockMaker
with mock-maker-inline
inside.
The test class fails because
How to fix this problem? None of the SO answers helped.
android - 如何使用 mockito 编写单元测试代码以测试从 android 中的 firestore 检索到的数据?
我对为我的 android 应用程序进行单元测试有点陌生。我已经阅读了一些文档,但仍然不知道如何测试我的“Presenter”类。是否有任何解决方案或样本可用于具有 MVP 架构的 android 中的单元测试?特别是与 Firestore 云相关。
我的Presenter类如下所示:
我想测试一下服务器返回null或成功返回所有数据的情况。这是我的单元测试类:
}
android - 共享偏好的 Mockito 单元测试
我正在尝试为几个简单的方法进行简单的单元测试,但这是我第一次尝试使用 mockito,所以我真的不明白我做错了什么。
这是我要测试的课程
这就是我在单元测试课上尝试做的事情
}
这是我不断收到的错误
kotlin - Kotlin:如何验证在模拟上调用扩展函数
假设我有一个 Java 类 Metrics。我在 Kotlin 的 Metrics 上定义了一些扩展函数
请注意,Java 类Metrics
也有一个被调用expose
但具有不同签名的方法。
我创建了一个测试,在其中模拟了一个对象并调用了应该调用metrics
扩展函数的代码路径。expose
但是我怎样才能验证那些扩展函数被调用了呢?
我尝试使用 mockk 和 mockito-kotlin,他们似乎都不知道该对象有一个用不同签名metrics
调用的新函数。expose