Я пытаюсь макет контекста Spark, чтобы вернуть издеваемую RDD, когда вызывается newAPIHadoopFile
.Соответствующие классы в Scala с Mockito
Я поставил его следующим образом:
val mockedOuterRdd = mock[RDD[(NullWritable, MyProtobuf)]]
mockedSc.newAPIHadoopFile(anyString, anyObject(),classOf[org.apache.hadoop.io.NullWritable],
classOf[MyProtobuf],anyObject()) returns mockedOuterRdd
Это нормально в компиляторе, но когда я запускаю его я получаю
Invalid use of argument matchers!
5 matchers expected, 3 recorded:
-> at ...
This exception may occur if matchers are combined with raw values:
//incorrect:
someMethod(anyObject(), "raw String");
When using matchers, all arguments have to be provided by matchers.
For example:
//correct:
someMethod(anyObject(), eq("String by matcher"));
Есть ли способ, что я могу использовать что-то вроде eq(...)
(который я пробовал и не работает) с classOf[...]
?
Я попытался использовать anyObject
для классов, но он отображает параметр типа для RDD, чтобы они были правильными.
Спасибо за чтение.
вы пробовали Иса? http://docs.mockito.googlecode.com/hg/1.9.5/org/mockito/Matchers.html#isA(java.lang.Class) – kpbochenek