如何使用模拟

时间:2018-10-10 14:47:01

标签: kotlin mockk

我正在尝试使用模拟来编写单元测试。

我正在尝试弄清楚如何模拟对象的新实例。

例如,使用PowerMockito,我们将编写:

PowerMockito.whenNew(Dog::class.java).withArguments("beagle").thenReturn(mockDog)

如果我的测试的预期结果是模拟狗,我希望能够断言它等于我的ActualResult:

assertEquals(mockDog, actualResult)

我将如何使用嘲笑来做到这一点?

谢谢。

2 个答案:

答案 0 :(得分:2)

使用mockkConstructor(Dog::class)可以在MockK中模拟构造函数。这将适用于给定类的所有构造函数,无法区分它们。

可以使用anyConstructed<Dog>()获得模拟的类实例。您可以使用它来添加所需的任何存根和验证,例如:

every { anyConstructed<Dog>().bark() } just Runs

答案 1 :(得分:0)

MockK是一个用于对代码进行单元测试的库。不要将其用于模拟构造函数。如果确实需要模拟构造函数,则可以使用PowerMock进行模拟构造函数。

相关问题