ScalaGettableData
scalamock を使用してCassandra オブジェクトをモックしようとしています。次のメソッドをモックする必要があります。
def getMap[K : TypeConverter, V : TypeConverter](name: String) = get[Map[K, V]](name)
TypeConverter
であり、次のTrait
ような暗黙の実装があります。
implicit object StringConverter extends TypeConverter[String]
私のコードでは、私は呼び出しています
scalaGettableData.getMap[String, String]("myMap")
暗黙的に変換されていると思います
scalaGettableData.getMap[StringConverter, StringConverter]("myMap")
私のテストコードは次のとおりです:
val cassandraRow1 = mock[ScalaGettableData]
(cassandraRow1.getMap[String, String] _).expects("localizations_config").returning(Map("key1" -> "value1"))`
しかし、コンパイルエラーが発生します:
Error:(28, 26) _ must follow method; cannot follow (name: String)(implicit evidence$3: com.datastax.spark.connector.types.TypeConverter[String], implicit evidence$4: com.datastax.spark.connector.types.TypeConverter[String])Map[String,String] <and> (index: Int)(implicit evidence$3: com.datastax.spark.connector.types.TypeConverter[String], implicit evidence$4: com.datastax.spark.connector.types.TypeConverter[String])Map[String,String]
このメソッドをモックするにはどうすればよいですか?