Frage

Ich habe gerade begonnen Pex mit parametrisierte Komponententests für mein Projekt zu generieren. Allerdings, wenn ich Pex läuft seine Erkundungen lassen, mein Code abstürzt, weil sie nicht von der web.config lesen können (ConfigurationSettings.AppSettings hat null Elemente genauer zu sein). Das Arbeitsverzeichnis während der Erkundungen ist: "C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ IDE". Ich nehme an, dies ist die Wurzel-Ursache.

Ich weiß, dass die vermeintlich richtige Art und Weise zu handhaben ist Mock-Objekte zu erstellen, die den Werten entsprechen, die ich brauche. Dies würde jedoch zwingen mich Tonnen Mock-Code zu erstellen und einen greifbaren Wert IMHO nicht bieten würde, weil ich kein Problem Bündelung web.config mit dem Test-Projekt haben.

Wie kann ich ermöglichen, von web.config Lesen (oder app.config), während die Pex Erkundungen ausführt?

War es hilfreich?

Lösung

Sie haben Ihre eigene Frage beantwortet fürchte ich - Sie würden nicht direkt Zugriff auf Ihre Datenbank aus dem Code, also warum tun Sie es mit Ihren Konfigurationsdateien? Legen Sie einfach eine dünne Hülle um Ihre Konfigurationsdatei Einstellungen und Stummel es in Ihren Tests aus. Sie haben nicht alles auf einmal zu tun, mit dem Stück Code unter Test starten und die direkten Verweise hinter Ihrem Wrapper Stück für Stück bewegen. Der greifbare Nutzen, dies zu tun, ist, dass es macht das Testen einfach.

Auch mit Pex, wenn der Code vollständig zwischen jedem Lauf nach unten gerissen zu werden (auf der Code hängt und die Tests, ob dies tatsächlich der Fall ist) werden Sie das Dateisystem jedes Mal schlagen werden, die eine ernsthafte haben Auswirkungen auf die Leistung.

Andere Tipps

Die Pex Entwickler nicht lesen (oft) Stackoverflow. Sie besser fragen Sie Ihre Pex-bezogene Frage in den Foren unter http: // sozial. msdn.microsoft.com/Forums/en/pex/threads

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top