66得票10回答
单元测试协程runBlockingTest:此任务尚未完成。

请查看下面使用协程替换回调函数的函数:override suspend fun signUp(authentication: Authentication): AuthenticationError { return suspendCancellableCoroutine { ...

57得票7回答
使用Mockk模拟静态Java方法

我们目前正在使用Java和Kotlin项目,正在逐步将整个代码迁移到后者。 是否可以使用Mockk来模拟静态方法,例如Uri.parse()? 示例代码会是什么样子?

53得票7回答
MockK "io.mockk.MockKException: no answer found for:" 错误

嗨,我正在尝试模拟从Retrofit返回的Single observable响应,使用我的Presenter类调用的委托,并且我收到了以下错误: io.mockk.MockKException: LoginPresenter(# 1)的login(LoginRequest(email = h...

51得票9回答
每个{...}块中的Mockk丢失调用

我卡在尝试使用Mockk模拟一些东西上:我在Gradle上有以下设置: root: |-- App (just a sample app for the SDK) |-- SDK (SDK we develop) << apply plugin: 'com.android...

48得票4回答
使用Mockk一次只模拟一个调用

我知道如果要嘲笑一个方法的响应方式,你必须使用every { instanceX.methodB() } returns "42" 我正在尝试模拟一个迭代器,需要模拟两个方法hasNext()和next()。如果hasNext()总是返回true,将会产生无限循环,而如果从一开始就返回fals...

42得票5回答
如何Mockk一个Kotlin顶层函数?

Mockk允许模拟静态函数,但如何模拟Kotlin的顶级函数呢? 例如,如果我有一个名为HelloWorld.kt的Kotlin文件,如何模拟sayHello()函数? HelloWorld.ktfun sayHello() = "Hello Kotlin!"

36得票3回答
如何使用Mockk调用Lambda回调函数

我使用mockk创建了一个类的模拟对象。 现在,在这个模拟对象上调用一个方法,该方法会传入一个lambda表达式作为参数。 这个lambda表达式作为回调函数,将状态变化的信息传递给调用该方法的对象。class ObjectToMock() { fun methodToCall(som...

27得票2回答
如何检查使用Mockk时一个方法是否未被调用?

我需要检查我的单元测试中是否没有调用某个方法。这是我编写的一个例子测试,它可以检查该方法是否被调用并且运行良好:@Test fun viewModel_selectDifferentFilter_dispatchRefreshAction() { val selectedFilter ...

22得票4回答
模拟一个私有属性

假设我们有一个像这样的类:class Whatever { private var something = false fun aMethod(): Int { return if( something ) { 1 } ...

22得票3回答
如何使用mockk模拟Build.VERSION.SDK_INT

我该如何在mockk中模拟Build.VERSION.SDK_INT? 我已经尝试了以下方法:@Test fun testFoo(){ mockkStatic(Build::class) mockkStatic(Build.VERSION::class) every ...