问题标签 [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.
kotlin - Kotlin mockito 参数匹配器问题
我正在尝试验证多个论点中的特定论点。我希望验证的其他论点具有简单的性质。但是我希望使用 check { } 来彻底验证它的一个论点。这失败并出现错误。我已经记下了代码和错误。
测试:
}
主题:
错误:
kotlin - 如何创建 ArgumentMatchers.any(类型:类) 在 Kotlin 中进行测试?
我正在尝试对使用以下服务的类进行单元测试:
我的第一种方法是用来ArgumentMatchers
实现单元测试,如下所示:
由于在 Kotlin 中ArgumentMatchers.any()
返回null
,因此产生NullPointerException
了不可为空的类型。所以我尝试使用Mockito-Kotlin库来避免这个问题。该方法如下所示:
使用的库解决了第一个参数的问题,但仍然产生NullPointerException
传递的第二个参数。
那么,我怎样才能创建一个ArgumentMatchers
forClass<T>
类型参数呢?
android - 在 AsyncTask 中测试一个涉及侦听器回调的类
我正在尝试测试在内部触发的侦听器回调AsyncTask
,
监听类:
包含 AsyncTask 的类:
我正在尝试进行的测试:
我目前遇到的错误:
线程中的异常... java.lang.RuntimeException:在 android.os.AsyncTask 中执行的方法未模拟。有关详细信息,请参阅http://g.co/androidstudio/not-mocked。在 android.os.AsyncTask.execute(AsyncTask.java)
android - 当模拟对象在 lambda 内部时单元测试失败,但是当它在 lambda 外部并在 lambda 内部使用时工作?
我有一个对话框,我正在使用 Mockito / Mockito Kotlin 进行一些单元测试。
当用户单击对话框时,会向用户显示时间列表,然后他们的选择会分配该值,然后对其进行一些其他工作。
我有一个我模拟的 timeProvider 类,它只返回 currentTime。
这是发生选择的对话框的一部分
当代码在上面时,我的单元测试按预期工作。点击事件里面的逻辑触发,时间设置为currentTime加30分钟。
但是当我在 click lambda 中有 timeProvider 时,它不再起作用并给我一个参数匹配器错误?
我不明白为什么代码可以在 lambda 之外的时间使用,但不能在 lambda 内部使用?
理想情况下,我不会在对话框之前设置它,因为谁知道在点击之前他们实际上会保持打开状态多长时间,而且,我将来可能会遇到这样的问题,不允许这样的解决方法?
android - Android Mockito Kotlin 协程测试取消
我有改装服务
它用于android视图模型。
我想写一个取消视图模型的测试。这将通过模拟服务和延迟来完成,以使 co 例程无法完成。在阻塞的同时,我们调用 onCleared 来取消 co 例程。这应该防止状态被设置...
但是似乎 vm.state 总是被设置???清除协同例程被取消的范围时,最好的测试方法是什么?
unit-testing - Kotlin Mockito 测试异常处理失败
我正在尝试使用 Mockito 在 Kotlin 中为所述处理编写异常处理和测试。由于没有抛出异常,测试失败了,我不知道为什么。看起来他们应该被扔掉,我很难过。
这是有问题的代码示例。
这是测试
我还尝试了在此测试中抛出异常的变体,包括
和
即使我添加了一个验证异常是运行时异常的 println 语句,在日志消息之后,异常打印但它仍然给我以下结果:
android - 代码在真实设备中成功运行,但 mockito 想要但未调用
我得到了mockito想要但没有被调用。我不知道该怎么做,因为我是新来的:)。顺便说一句,当我在真实设备中运行代码时,它还可以。
需要但未调用:observer.onChanged(true);
测试类
视图模型类
android - 在 kotlin 中为 ViewModel 编写单元测试用例
我正在使用 Junit & Mockito 4 对 viewModel 进行单元测试。
视图模型类
Api 端点
ViewModel 测试类
问题是我的 livedata 被包裹了Event<DataState<List<TrendingResponse>>
,因此我无法获得应该是 dataObserver 的内容,以及我应该如何验证测试类中的 dataObserver。
Event os 开放类,用于处理 SingleLiveData 等事件
DataState 是包含 SUCCESS & FAILED 数据类的密封类
我已经编写了测试用例 livedata is likeLiveData<List<Response>
或类似的东西。
android - 带有模拟和协程的 Android 测试存储库返回 NullPointerException
我有点困惑我应该如何测试这个
我有这个存储库类:
这一行调用了一个数据源方法,该方法返回一个Deferred<Response>
对象并等待它
val response = dataSource.fetchAuthenticationFromServerAsync(username, password).await()
当我尝试测试它时,我总是NullPointerException
在这一行得到一个完全正确的
这是我的测试类:
日志输出为:
我在这个存储库类上的所有其他函数都是挂起的函数和所有用途withContext(Dispatchers.IO)
,我能够全部测试它们(其中任何一个调用另一个类)。这是唯一给我这个错误的。
提前感谢您对此的任何见解。