Nein, Sie würden einen Mock verwenden, wenn Sie eine Klasse schreiben, die eine IRepository
verwendet. Für die Implementierungen von IRepository
müssen Sie mit der entsprechenden Datenquelle testen. Für Datenbanken ist das ein bisschen mühsam - für ein Dateisystem etwas weniger.
Wenn Sie Ihre Implementierung in Bezug auf Streams oder Reader ausdrücken können, erleichtern Sie das Leben: Tests für diese Teile der Implementierung können gegen In-Memory-Datenquellen oder Streams von Ressourcen im Test gehen Versammlung. Natürlich werden Sie wahrscheinlich einige Tests benötigen, die zu einer echten Datenbank oder dem Dateisystem gehen, aber hoffentlich weniger.
Ob Sie solche Tests "Unit" -Tests nennen oder nicht, hängt davon ab, wie Sie Komponententests definieren. persönlich interessiere ich mich nicht allzu sehr um die Namen beteiligt, aber ich tun kümmern sich um Tests. Gerade bei Datenbanken kann dies etwas schmerzhaft sein (vor allem, wenn Sie parallel Tests durchführen wollen) - aber sie können meiner Erfahrung nach auch sehr wertvoll sein.