ホームページ >データベース >mysql チュートリアル >C# 単体テストで SQL Express MDF ファイルの相対パスを使用するにはどうすればよいですか?
C# 単体テストでの SQL Express MDF ファイル パスの管理
C# 単体テストは SQL Express データベースに依存することが多く、通常は接続文字列の絶対パスを介して MDF ファイルを参照します。 このアプローチは柔軟性がありません。 より堅牢なソリューションには、相対パスまたは環境変数を使用してデータベース ファイルを動的に見つけることが含まれます。
|DataDirectory|
は Web アプリケーションでよく使用されますが、コンソールや他の非 Web アプリケーションには直接適用できません。 解決策は、DataDirectory
プロパティを手動で設定し、それに応じて接続文字列を構築することです。
これが実際的な例です:
<code class="language-xml"><configuration> <connectionStrings> <add connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" name="MyConnectionString" /> </connectionStrings> </configuration></code>
単体テスト クラス内で、テスト実行前に DataDirectory
プロパティを設定します。
<code class="language-csharp">[TestInitialize] public void TestInitialize() { string databaseDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"); AppDomain.CurrentDomain.SetData("DataDirectory", databaseDirectory); // ... remaining test initialization ... }</code>
この方法では、接続文字列内で相対パスを使用できるため、アプリケーション構成ファイルを介してデータベース ファイルの場所をより適切に制御できるようになり、コードの保守性と移植性が促進されます。
以上がC# 単体テストで SQL Express MDF ファイルの相対パスを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。