1

我试图找出是否可以将any参数匹配器之类的东西用于具有类型参数的方法:

when(store.getItems[Product](any[FilterParams]))
        .thenReturn(allProducts)

使用上述代码段运行代码时,出现此错误:

Invalid use of argument matchers!
2 matchers expected, 1 recorded

我猜这是因为我向该方法传递了一个确切的类型Product参数getItems

当我传入一个实际FilterParams对象时,这确实有效:

when(store.getItems[Product](FilterParams()))
        .thenReturn(allProducts)

是否有任何参数匹配器可用于类型参数?还是违反直觉,因为每当我们使用类型参数调用函数时,我们必须传递类型参数?

编辑:

Product这不是 Scala 的内置Product特性。

方法的函数签名getItems

def getItems[T <: ItemType : universe.TypeTag](filterParams: FilterParams): List[T]
4

0 回答 0