10

使用mockk来模拟构造函数,我们可以执行以下操作(取自文档):

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

我现在没有找到任何方法来检查构造函数参数。

4

1 回答 1

0

不幸的是,目前不可能,如您提出的功能请求所示。

于 2020-03-31T19:53:57.503 回答