Estoy usando mockito y estoy intentando burlarme de un objeto scala.Objeto Scala scala
object Sample { }
//test
class SomeTest extends Specification with ScalaTest with Mockito {
"mocking should succeed" in {
val mockedSample = mock[Sample]
}
}
Esto me da dos errores de compilación.
error: Not found type Sample
error: could not find implicit value for parameter m:
scala.reflect.ClassManifest[<error>]
Si cambio la muestra de objeto a clase, funciona. ¿Es posible burlarse de los objetos scala con mockito? Si es así, ¿cómo?
Definitivamente estoy de acuerdo aquí. Es posible que pueda probar el simulacro [Sample.type], pero dudo que funcione en la práctica. Recomiendo que Sample extienda algunos rasgos de la interfaz y se burle de esa manera. El gran problema es que si quieres inyectar tu simulacro en lugar de la muestra única, tendrás que hacer magia agradable, malvada y divertida. Si estás interesado, podemos publicar eso. – jsuereth
Estaba mirando el código fuente de Mockito el otro día para responder una pregunta relacionada (que por alguna razón no puedo encontrar, ahora) y parece recordar haber visto uno de los generadores "falsos" que simplemente devuelve un valor específico en lugar de intentarlo para generar alternativas/variantes. –
¿Hay alguna manera de hacer esto con Powermock o similar? Si tengo un método (efectivamente global) en un objeto complementario, parece razonable querer burlarme de su comportamiento; sin duda este es un patrón común en el mundo ruby. – Korny