kotlin and ArgumentCaptor - IllegalStateException

后端 未结 8 1383
长发绾君心
长发绾君心 2020-12-30 18:44

I have a problem with capturing the Class argument via ArgumentCaptor. My test class looks like this:

@RunWith(RobolectricGradleTestRunner::class)
@Config(sd         


        
8条回答
  •  余生分开走
    2020-12-30 19:02

    Another approach:

    /**
     * Use instead of ArgumentMatcher.argThat(matcher: ArgumentMatcher)
     */
    fun  safeArgThat(matcher: ArgumentMatcher): T {
        ThreadSafeMockingProgress.mockingProgress().argumentMatcherStorage
            .reportMatcher(matcher)
        return uninitialized()
    }
    
    @Suppress("UNCHECKED_CAST")
    private fun  uninitialized(): T = null as T
    

    Usage:

    verify(spiedElement, times(1)).method(
        safeArgThat(
            CustomMatcher()
        )
    )
    

提交回复
热议问题