Я хочу протестировать функцию, которая записывает вывод в RDD в Scala Spark.
Часть этого теста - макет карты на RDD с использованием jmock
val customerRdd = mockery.mock(classOf[RDD[Customer]], "rdd1")
val transformedRddToWrite = mockery.mock(classOf[RDD[TransformedCustomer]], "rdd2")
mockery.checking(new Expectations() {{
// ...
oneOf(customerRdd).map(
`with`(Expectations.any(classOf[Customer => TransformedCustomer]))
)
will(Expectations.returnValue(transformedRddToWrite))
// ...
}})
Однаковсякий раз, когда я пытаюсь запустить этот тест, я получаю следующую ошибку: not all parameters were given explicit matchers: either all parameters must be specified by matchers or all must be specified by values, you cannot mix matchers and values
, несмотря на то, что я указал соответствия для всех параметров на .map
.
Как это исправить?Может ли jMock поддерживать сопоставление функциональных аргументов Scala с неявными тегами класса?