使用Mockito和kotlin时,只允许在类文字的左侧使用类

Moh*_*ANE 6 android mockito kotlin

我使用Android studio的转换工具来转换现有的java测试类.

我收到此错误:

在类文字的左侧只允许使用类

以下是使用的测试用例:

Java的

doAnswer(answerVoid(
            (OnDataListListener<List<BEntity>> myCallback) -> myCallback.onSuccess(mList))).when(
            mInteractor).performGetBList(any(OnDataListListener.class), anyBoolean());
Run Code Online (Sandbox Code Playgroud)

科特林

doAnswer(answerVoid { listener: OnDataListListener<List<BEntity>> ->
      listener.onSuccess(
          emptyList())
    }).`when`<DragonInteractor>(mInteractor)
        .performGetBList(any<OnDataListListener>(OnDataListListener<*>::class.java),
            anyBoolean())
Run Code Online (Sandbox Code Playgroud)

那么如何在这种情况下使用通用参数?谢谢.

hot*_*key 5

只需使用OnDataListListener::class.java

类引用表达式中不需要(也不允许)尖括号的原因是,类引用完全与泛型无关,对于类的泛化专长没有不同的类引用。

  • 这里的“ any”怎么样:any &lt;*&gt;(OnDataListListener :: class.java)。我什至在这里有这个,但仍未编译:/sf/answers/2297939801/ (2认同)