Kotlin-mockk цепной звонок - PullRequest
       29

Kotlin-mockk цепной звонок

0 голосов
/ 20 марта 2019

Я пытаюсь выполнить цепной вызов в моем модульном тесте, используя библиотеку mockk в Kotlin. Ниже мой код:

@MockK
lateinit var crypto: Crypto

@Before
fun setUp() {
    MockKAnnotations.init(this, relaxUnitFun = true)
}

@Test
fun testCryptoFunc() {
    // Given
    // When
    every { crypto.sayHello() } returns "gg" // This works
    every { crypto.sayHelloTwice("w").sayHello() } returns "gg" //sayHello() is unresolved

    // Then
    //val c = crypto.sayHelloTwice("ss")
    //print("rr")
}

И мой код реализации:

fun sayHello(): String {
    return "hello"
}

fun sayHelloTwice(a: String): String {
    return sayHello() + a
}

Я пытаюсь заглушить внутренний вызов (sayHello ()), но получаю неразрешенную ссылку. Согласно документации Mockk для цепных вызовов, это говорит, что это должно быть допустимо.

Я пытался очистить и восстановить (но столкнулся с ошибкой компиляции). Попробовал перезапустить IDE. Пробовал аннулировать кэши и перезапускать.

Есть что-то, что я пропускаю / делаю неправильно?

Ссылки:

https://mockk.io/#chained-calls

https://stackoverflow.com/a/54347784/1342086

...