我正在尝试使用 mockk 编写单元测试。
我试图弄清楚如何模拟对象的新实例。
例如,使用 PowerMockito 我们会这样写:
PowerMockito.whenNew(Dog::class.java).withArguments("beagle").thenReturn(mockDog)
Run Code Online (Sandbox Code Playgroud)
如果我的测试的预期结果是模拟狗,我希望能够断言它等于我的实际结果:
assertEquals(mockDog, actualResult)
Run Code Online (Sandbox Code Playgroud)
我将如何使用 mockk 完成此操作?
提前致谢。
使用mockkConstructor(Dog::class)你可以在 MockK 中模拟构造函数。这将适用于给定类的所有构造函数,无法区分它们。
可以通过使用 来获取模拟类实例anyConstructed<Dog>()。您可以使用它来添加所需的任何存根和验证,例如:
every { anyConstructed<Dog>().bark() } just Runs
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2226 次 |
| 最近记录: |