Можем ли мы посмеяться над конструктором и проверить его параметры? - PullRequest
0 голосов
/ 23 декабря 2018

С 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

Я не нашел способа проверить параметры конструктора прямо сейчас.

...