C# の単体テスト プロジェクトで SQL Express データベースを使用する場合、mdf ファイルの相対的な場所を指定する際に問題が発生します。アプリケーションの実行可能ファイルに。絶対パスを使用するのは不便であり、|DataDirectory|変数は、Web アプリケーション用に予約されていますが、このシナリオで活用できます。
経験豊富な開発者のアイデアを組み合わせることで、実行可能なソリューションが生まれます。 app.config ファイルで、接続文字列を次のように定義します。
<add name="MyConnectionString" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
単体テスト クラス内で、DataDirectory プロパティを動的に設定できます。
[TestInitialize] public void TestInitialize() { AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases")); // Rest of initialize implementation... }
DataDirectory プロパティを設定することで、実行可能ファイルを基準としたデータベース フォルダーのパスに接続すると、接続文字列は単体テスト中に mdf ファイルを正常に見つけます。このアプローチにより、展開環境に適応する動的な接続文字列が可能になります。
以上がC# 単体テストで SQL Express 接続文字列の相対パスを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。