Mockk调用方法而不是模拟依赖项

时间:2019-07-18 16:58:06

标签: kotlin mockk

嗨,我的生产代码中有类似的内容。一个简单的方法将引发异常:

class Production {

    fun doWork(): String {
        throw IllegalArgumentException()
    }
}

但是,当我使用Mockk模拟此Production类时,它将运行基础的doWork()方法,而不是模拟方法调用:

import io.mockk.MockKAnnotations
import io.mockk.every
import io.mockk.impl.annotations.MockK
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test

class Test {

    @MockK
    lateinit var production: Production

    @Before
    fun setup() {
        MockKAnnotations.init(this)
    }

    @Test
    fun test() {
        every { production.doWork() } returns "Str"

        assertEquals("Str", production.doWork())
    }
}

测试失败,并显示java.lang.IllegalArgumentException。 Mockk不应该在Production类中嘲笑此方法调用吗?我感觉这可能是由于Mockito背景造成的误解。

0 个答案:

没有答案