Es ist zu mühsam, die Funktion einer einzelnen Seite in der Webentwicklung zu testen. Nachdem Sie den Benutzernamen und das Passwort von der Startseite eingegeben haben, können Sie erst nach einigen Vorgängen zu der Seite gelangen, die Sie testen möchten. (Egal welche Entwicklung Sie durchführen, das Testen einer einzelnen Funktion ist tatsächlich sehr mühsam.) Mit einer vorsichtigen Einstellung schreibe ich normalerweise gerne ein paar Absätze und teste sie einmal. Es ist natürlich sehr unwirtschaftlich, jedes Mal das gesamte Projekt zum Testen zu starten.
Normalerweise füge ich der Lösung eine neue Konfiguration zum Testen hinzu, füge darin eine Kompilierungsdirektive wie „Test“ hinzu und füge dann einige Testbedingungen und Testmethoden unter dieser Direktive in den Code ein. Wenn das Entwicklungsteam keine Konzepte wie Unit-Tests eingeführt hat, möchte ich so etwas nicht durch das Hinzufügen eines neuen Testprojekts tun. Und in Situationen wie einer einzelnen Seite im Web weiß ich nicht, wie ich vorgehen soll. Daher ist es in der Vergangenheit üblicher, meine eigenen Kompilierungsanweisungen zu verwenden.
(Als ich früher einige Nicht-WEB-Dinge geschrieben habe, habe ich auch gerne die Testmethode und die Klasse selbst in eine Datei geschrieben und sie dann mithilfe von Kompilierungsanweisungen unterschieden. Wenn Sie testen möchten, wählen Sie einfach direkt „Testen“ aus Diese Konfiguration und das anschließende Starten von TestDriven sparen viel Aufwand auf der Maschine, ohne das gesamte Projekt zu starten.
Wenn Sie in der Entwicklungsumgebung in C# entwickeln und die aktuellen Kompilierungsbedingungen nicht erfüllt sind, werden diese Codes ausgegraut und können eingerückt werden, was überhaupt kein Schandfleck ist.)
Allerdings funktionieren meine Tricks unter VS2005 nicht mehr. Jetzt ist die WEB-Entwicklung etwas anders als zuvor. Ich kann bei der Suche keinen Ort finden, an dem ich Kompilierungsanweisungen hinzufügen kann. Nachdem ich lange gekämpft hatte, stellte ich fest, dass ich jetzt einige Einstellungen in Web.config vorgenommen habe und die bedingte Kompilierung keine Ausnahme darstellt.
Jetzt müssen wir beispielsweise eine bedingte Kompilierungsanweisung „Test“ hinzufügen. Fügen Sie in der Datei Web.config einfach die folgende Anweisung im Abschnitt <compilation> hinzu.
<compilers>
<compiler language="vb"
type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"
extension=".VB"
CompilerOptions="/define:Debug=True /define:Trace=True /define:Test=True "/>
<compiler language="c#"
type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"
extension=" .cs"
CompilerOptions="/d:DEBUG;TRACE;Test"/>
</compilers>
Es ist sehr wichtig, für jede Sprache einen <compiler> hinzuzufügen. Wenn die entsprechende Sprache nicht im Projekt verwendet wird, können Sie sie natürlich ignorieren oder löschen. Im Allgemeinen werden C# und VB häufiger verwendet, ich verwende jedoch nur diese beiden.
Nach dem Festlegen in Web.config ist es nicht erforderlich, auf jeder Seite, die getestet werden muss, Kompilierungsanweisungen zu definieren. Allerdings ist es immer noch nicht so gut wie zuvor. In der Vergangenheit reichte es aus, die Konfiguration direkt auszuwählen Jetzt muss ich so viele Dinge schreiben, und vor allem ist es immer noch unpraktisch, sie zu wechseln. Wenn ich beispielsweise nicht unter der Bedingung „Test“ starten möchte, muss ich in die Web.config gehen und den obigen Absatz auskommentieren.
Laut MSDN ist das <compiler>-Element unter .Net 2.0 veraltet. Mein Ansatz scheint nicht der richtige Weg zu sein.