Mock.OfObject VS MockObject ()

8

Ich bin derzeit verwirrt, wie man sich verspotten kann.

Ich benutze Moq. Um Objekte zu verspotten schreibe ich normalerweise auf diese Weise

%Vor%

Allerdings muss ich ein Mock-Objekt für meine Einrichtung erstellen.

Option1 Ist es besser, mein Objekt zu verspotten, das nur Eigenschaften auf diese Weise enthält?

%Vor%

Option2 Oder auf diese Weise

%Vor%

Ich habe gelesen, dass Option 2 setupproperties hat, was für mich etwas fragwürdig ist, weil ich auch die Eigenschaften in Option 1 setzen konnte.

Was ist dann der Unterschied? Oder gibt es einen besseren Weg?

    
user1960948 05.05.2016, 04:53
quelle

2 Antworten

8

Dieser Beitrag hat mir geholfen, Mock.Of & lt; T & gt; : Im alten Stil Imperativ Mock & lt; T & gt; vs funktionale Mock.Of & lt; T & gt;

Wie im Post erklärt, mit Mock.Of & lt; T & gt; Sie sagen "Geben Sie mir einen Mock, der sich so verhält" (oder Mock s .Of & lt; T & gt; wenn Sie viele Objekte (IEnumerable) benötigen). Es macht die Erklärung eines Mocks prägnanter.

Beispiel mit Mock & lt; T & gt; (gibt einen Mock zurück)

%Vor%

Das gleiche Beispiel unter Verwendung von Mock.Of & lt; T & gt; (Gibt eine Instanz der Klasse zurück)

%Vor%     
Riga 19.12.2016 15:16
quelle
-2

Deshalb mag ich nicht das Schlüsselwort var für alle Variablen. Die Option 2 gibt ein Mock & lt; T & gt; während Option 1 T zurückgibt. Im Grunde ist es nur Syntaxunterschied. Sie können Methoden auf andere Weise vortäuschen. Siehe Dokumentation.

    
Péter 05.05.2016 05:29
quelle

Tags und Links