Best Practice zum Verspotten von Repository-Pattern

9

Ich beginne mit IoC / Mocking und versuche sicherzustellen, dass ich "Best Practice" für meine Repositories verwende.

Ich richte Schnittstellen für meine Repositories ein. Die konkreten Implementierungen verweisen auf SQL, während Tests Moq verwenden, um "Fälschungen" zu generieren. Ich merke, dass ich Moqs Rückruffunktion ein Los verwende. In diesem Artikel, sagt der Autor.

  

Da Moq in beiden Bereichen Funktionen für die meisten Funktionen bereitstellt, gibt es nicht wirklich viele verschiedene Punkte, an denen Sie diese Tools benötigen. In der Tat, wenn Sie denken, dass Sie "Callback" verwenden müssen, sollten Sie wahrscheinlich ein wenig härter schauen, um zu sehen, ob Moq tun kann, was Sie automatisch tun möchten.

Ich habe einen Blick darauf geworfen und sehe keinen anderen Weg, um das zu implementieren, was ich brauche - nämlich ein "falsches" Repository. Kann mir jemand bitte mitteilen, ob mir etwas fehlt? Gibt es eine Möglichkeit, dies ohne Rückruf zu erreichen?

%Vor%

Vielen Dank im Voraus! Jede andere Beratung willkommen: -)

Z

    
Damien Sawyer 08.06.2011, 06:30
quelle

2 Antworten

2

Ich persönlich sehe kein Problem mit der Art, wie Sie das tun. Was ich sehe ist, dass Sie Mock und nicht Stub Sie Repository wollen. Das bedeutet, dass Sie während des Tests Daten "aufnehmen" und Daten zurückgeben möchten. In diesem Fall ist Callback nützlich und wirklich die einzige Möglichkeit, dies zu tun.

Wie für den Kommentar, wenn Sie mit Stubbing mehr als Spott zu tun haben, dann würde Callback selten verwendet werden. Der Artikel imo ist ein wenig zu allgemein und sieht nicht die Macht der Callback .

    
aqwert 08.06.2011, 07:21
quelle
2

Sie könnten einfach Folgendes einrichten:

%Vor%

und haben eine Hilfsfunktion, die eine Liste der Kontakte zurückgibt:

%Vor%

Und verschiedene Helper-Methoden haben, um bestimmte Datenszenarien zurückzugeben.

    
Ciaran 08.06.2011 09:29
quelle

Tags und Links