Bei der Verwendung von SQL Express-Datenbanken in Unit-Test-Projekten in C# besteht die Herausforderung darin, den relativen Speicherort der MDF-Datei anzugeben zur ausführbaren Datei der Anwendung. Die Verwendung eines absoluten Pfads ist unpraktisch und das |DataDirectory| Die Variable ist zwar für Webanwendungen reserviert, kann in diesem Szenario jedoch genutzt werden.
Durch die Kombination der Ideen erfahrener Entwickler entsteht eine praktikable Lösung. Definieren Sie in der Datei app.config die Verbindungszeichenfolge als:
<add name="MyConnectionString" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
Innerhalb der Unit-Test-Klasse kann die DataDirectory-Eigenschaft dynamisch festgelegt werden:
[TestInitialize] public void TestInitialize() { AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases")); // Rest of initialize implementation... }
Durch Festlegen der DataDirectory-Eigenschaft B. auf den Pfad des Datenbankordners relativ zur ausführbaren Datei, wird die Verbindungszeichenfolge die MDF-Datei während Komponententests erfolgreich finden. Dieser Ansatz ermöglicht eine dynamische Verbindungszeichenfolge, die sich an die Bereitstellungsumgebung anpasst.
Das obige ist der detaillierte Inhalt vonWie verwende ich relative Pfade für SQL Express-Verbindungszeichenfolgen in C#-Komponententests?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!