Mockito für Objekte in Scala
Ich bin mit Scala 2.10, specs2 und Mockito. Ich möchte mock scala.io.Quelle.fromURL(). Das Problem scheint zu sein, fromURL() ist eine Funktion in io.Quelle-Objekt.
val m = mock[io.Source]
m.fromURL returns io.Source.fromString("Some random string.")
Es ist eine ziemlich einfache mock in einem Unit-test. Warum funktioniert das nicht?
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Statt mocking hast, könntest du versuchen
spying
es wie folgt:Oder könnten Sie verspotten es wie folgt:
Aber dann, wie sind Sie mit
Source
in der Klasse, die Sie testen? Wenn Sie eine Beispiel-Klasse in etwa so:Dann, um die Vorteile von mocking/Spionage, würden Sie haben, um die Struktur der Klasse in etwa so:
Und dann ist dein test müsste in etwa so Aussehen:
In der Java-Welt, werden statische Methoden sind der Fluch der Spott. In der Scala-Welt, die Aufrufe an Objekte kann auch lästig sein, zu unit-tests. Aber wenn Sie Folgen Sie den obigen code, sollten Sie in der Lage, richtig zu mock ein Objekt Abhängigkeit in Ihrer Klasse.
extend
den Zug. Auf diese Weise, den Zug kann er verspottet, für die Prüfung. Siehe: stackoverflow.com/a/41663795/519951