我正在尝试使用Kotlin和MockK框架编写单元测试。如果测试是使用junit 5框架编写的,那么可以使用MockKExtension来运行它们。
@ExtendWith(MockKExtension::class)但是对于junit 4测试,有MockK runner吗?像这样:
@RunWith(....)如果没有这样的运行器,则需要手动初始化mock。
private val a: A = mockK()是否可以使用junit 4的注解来初始化kotlin mock
@MockK
private lateinit var a: A发布于 2020-01-18 18:16:32
简单的回答是否定的。
但。在JUnit 4中使用MockK非常简单:
你所需要的就是这样的代码:
class CarTest {
@MockK
lateinit var car1: Car
@Before
fun setUp() = MockKAnnotations.init(this, relaxUnitFun = true) // turn relaxUnitFun on for all mocks
// And so on…顺便说一句,这不是手工制作的例子,它来自official documentation
https://stackoverflow.com/questions/59796146
复制相似问题