2

ScalaGettableDatascalamock を使用して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]

このメソッドをモックするにはどうすればよいですか?

4

1 に答える 1