如何使用手动嵌入Kotlin趣味

我有一个通过测试下面,使用内联的乐趣。

class SimpleClassTest { private inline fun  anyObject(): T { return Mockito.anyObject() } lateinit var simpleObject: SimpleClass @Mock lateinit var injectedObject: InjectedClass @Before fun setUp() { MockitoAnnotations.initMocks(this) } @Test fun testSimpleFunction() { simpleObject = SimpleClass(injectedObject) simpleObject.simpleFunction() verify(injectedObject).settingDependentObject(anyObject()) } } 

但现在我想删除内联的乐趣,因为它只有一个用法。 所以我用实际的类名称替换T,即Response(来自Okhttp),并将其直接设置为参数settingDependentObject

 class SimpleClassTest { lateinit var simpleObject: SimpleClass @Mock lateinit var injectedObject: InjectedClass @Before fun setUp() { MockitoAnnotations.initMocks(this) } @Test fun testSimpleFunction() { simpleObject = SimpleClass(injectedObject) simpleObject.simpleFunction() verify(injectedObject).settingDependentObject(Mockito.anyObject()) } } 

它会失败

 java.lang.IllegalStateException: Mockito.anyObject() must not be null 

我怎么能手动内联正确的行为,当我有private inline fun anyObject(): T

更新注意:这是Kotlin的后续问题:手动内联generics函数会产生不同的结果? 。 前面提供了为什么,但我不能得到如何手动内联正确。