Ich benutze Scalamock, um eine Klasse zu verspotten, die einige überladene Methoden enthält, aber ich bekomme einige Fehler.Mocking überladen Methode
Zum Beispiel:
val out = mock[PrintStream]
(out.print _).expects("cmd \r\n")
Löst den folgenden Fehler:
[error] [...]/src/test/scala/chili.scala:19: ambiguous reference to overloaded definition,
[error] both method print in class PrintStream of type (x$1: String)Unit
[error] and method print in class PrintStream of type (x$1: Array[Char])Unit
Aber wenn ich zu verwenden versuchen:
(out.print(_: String)).expects("cmd \r\n")
ich auch einen Fehler:
[info] [...]/src/test/scala/chili.scala:19: Unable to resolve overloaded method print
[info] (out.print(_: String)).expects("cmd \r\n")
[info] ^
[error] [...]/src/test/scala/chili.scala:19: value expects is not a member of String => Unit
[error] (out.print(_: String)).expects("cmd \r\n")
Gibt es eine Möglichkeit, dies in Scala zu tun? Vielleicht mit einer anderen Bibliothek?
Gute Antwort. Vielen Dank – simao