Also las ich das Google-Testblog, und es sagt, dass der globale Zustand schlecht ist und es schwierig macht, Tests zu schreiben. Ich glaube es - mein Code ist momentan schwer zu testen. Wie vermeide ich den globalen Zustand?Wie kann ich den globalen Zustand vermeiden?
Die größten Dinge, die ich global state (wie ich es verstehe) für die Verwaltung von Schlüsselinformationen zwischen unseren Entwicklungs-, Akzeptanz- und Produktionsumgebungen verwenden. Zum Beispiel habe ich eine statische Klasse namens "Globals" mit einem statischen Member namens "DBConnectionString". Wenn die Anwendung geladen wird, ermittelt sie, welche Verbindungszeichenfolge geladen werden soll, und füllt Globals.DBConnectionString auf. Ich lade Dateipfade, Servernamen und andere Informationen in der Globals-Klasse.
Einige meiner Funktionen beruhen auf den globalen Variablen. Also, wenn ich meine Funktionen teste, muss ich daran denken, bestimmte Globals zuerst zu setzen, sonst versagen die Tests. Ich möchte das vermeiden.
Gibt es eine gute Möglichkeit, Zustandsinformationen zu verwalten? (Oder verstehe ich den globalen Zustand falsch?)