Ich bin ein ziemlicher Anfänger im Testen von Code und war assert
vorher eine Hure. Eine Sache, die mich bei Unit-Tests beunruhigt, ist, dass Sie häufig public
(oder zumindest internal
) Felder private
ausfüllen readonly
müssen, die sonst wären, um sie zu entfernen , stattdessen private
Methoden zu erstellen protected virtual
usw.
Ich habe kürzlich entdeckt, dass Sie dies vermeiden können, indem Sie Dinge wie die PrivateObject- Klasse verwenden, um über Reflektion auf alles in einem Objekt zuzugreifen . Dies macht Ihre Tests jedoch weniger wartbar (Fehler bei der Ausführung und nicht beim Kompilieren, Fehler durch einfaches Umbenennen, schwierigeres Debuggen ...). Wie ist Ihre Meinung dazu? Was sind die Best Practices bei Unit-Tests zur Zugriffsbeschränkung?
Bearbeiten: Nehmen wir zum Beispiel an, Sie haben eine Klasse mit einem Cache in einer Datei auf der Festplatte und möchten in Ihren Tests stattdessen in den Speicher schreiben.