5

verify「...への呼び出し...が発生しましたが、引数が一致しません」で失敗することがあることに気付きました

検証の失敗を示すサンプル テストを次に示します。

class TestStuff {

    val stuff = "1"

    @RelaxedMockK
    lateinit var testService: TestService

    @RelaxedMockK
    lateinit var testInterface: TestInterface

    @Before
    fun setup() {
        MockKAnnotations.init(this)

        every { testInterface.testStuff } returns stuff
    }

    @Test
    fun testStuffCalled() {
        testService.testStuff(testInterface.testStuff)

        verify { testService.testStuff(testInterface.testStuff) }
    }
}

interface TestInterface {
    val testStuff: String
}

class TestService {

    fun testStuff(stuff: String) {
    }
}

次の 2 行に検証呼び出しを含む行を変更すると、機能します。

let testStuffCopy = testInterface.testStuff
verify { testService.testStuff(testStuffCopy) }
4

1 に答える 1