代码之家  ›  专栏  ›  技术社区  ›  Alice

Kotlin中的单元测试方法

  •  0
  • Alice  · 技术社区  · 2 年前

    我有的测试功能 duplicate 方法,此方法以 .also 调用,该调用在方法返回后运行。但我的测试没有涵盖这一点。

    我有以下代码,带有 而且 最后呼叫

        suspend fun duplicate(id: ObjectId): Foo {
            val foo = findById(id)
            reset(foo)
            return create(foo).also {
               externalClient.doSomething(foo)
            }
        }
    

    这是对这个功能的测试

        @Test
        fun `should duplicate`() = runTest {
            wheneverBlocking { fooRepository.findById(any()) } doReturn Foo().apply {
                ...
            }
            wheneverBlocking { fooRepository.save(any()) } doAnswer { it.getArgument(0) }
    
            val res = fooService.duplicate(ObjectId())
    
            verify(externalclient, times(1)).doSomething(any())
        }
    

    当我运行测试时,验证没有通过,我该怎么办?它对 而且 方法

    0 回复  |  直到 2 年前