Mockito für Objekte in Scala

8

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!

    
Marius Stroe 08.05.2013, 14:50
quelle

1 Antwort

19

Anstatt es zu verspotten, könntest du spying wie folgt ausprobieren:

%Vor%

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:

%Vor%

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.

    
cmbaxter 08.05.2013, 17:24
quelle

Tags und Links