我们可以模拟构造函数并检查其参数吗?

时间:2018-12-23 10:44:31

标签: kotlin mockk

使用mockk,可以模拟构造函数,例如(taken from documentation):

class MockCls {
  fun add(a: Int, b: Int) = a + b
}

mockkConstructor(MockCls::class)

every { anyConstructed<MockCls>().add(1, 2) } returns 4

assertEquals(4, MockCls().add(1, 2)) // note new object is created

verify { anyConstructed<MockCls>().add(1, 2) }

我想检查构造函数的参数。像这样:

class MockCls(val minValue: Int) {
  fun add(a: Int, b: Int) = minValue + a + b
}

mockkConstructor(MockCls::class)

every { anyConstructed<MockCls>(10).add(1, 2) } returns 14

assertEquals(14, MockCls(10).add(1, 2)) // note new object is created

verify { anyConstructed<MockCls>(10).add(1, 2) } // success
verify { anyConstructed<MockCls>(5).add(1, 2) } // fail

我现在找不到任何检查构造函数参数的方法。

1 个答案:

答案 0 :(得分:-1)

很遗憾,如您所feature request所示,目前尚无法实现。