Ich benutze Scala 2.10, specs2 und Mockito. Ich möchte scala.io.Source.fromURL () vortäuschen. Das Problem scheint von URL zu sein () ist eine Funktion in io.Source's Objekt .
%Vor%Es ist ein ziemlich einfacher Schein in einem Komponententest. Warum funktioniert es nicht?
Danke!
Anstatt es zu verspotten, könntest du spying
wie folgt ausprobieren:
Oder Sie könnten es wie folgt verhöhnen:
%Vor% Aber wie verwenden Sie Source
in der Klasse, die Sie testen? Wenn Sie eine Beispielklasse wie folgt hätten:
Um Spott zu nutzen, müssen Sie Ihre Klasse wie folgt strukturieren:
%Vor%Und dann müsste dein Test etwa so aussehen:
%Vor%In der Java-Welt sind statische Methoden der Fluch des Spottes. In der Scala-Welt können Aufrufe von Objekten auch mühsam für Komponententests erledigt werden. Aber wenn Sie dem obigen Code folgen, sollten Sie in der Lage sein, eine objektbasierte Abhängigkeit in Ihrer Klasse korrekt nachzubilden.