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