ホームページ > データベース > mysql チュートリアル > 単体テストで SQL Express MDF ファイルの相対パスを指定するにはどうすればよいですか?

単体テストで SQL Express MDF ファイルの相対パスを指定するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-11 10:03:43
オリジナル
845 人が閲覧しました

How Can I Specify a Relative Path for My SQL Express MDF File in Unit Tests?

単体テストでの SQL Express MDF ファイル パスの管理

単体テストでは、SQL Express データベースへの接続が必要になることがよくあります。 ただし、接続文字列で MDF ファイルの絶対ファイル パスをハードコーディングすると、テストの移植性が低くなります。この記事では、代わりに相対パスまたは変数を使用するための解決策について説明します。

|DataDirectory| トークンは Web アプリケーションでは役立ちますが、単体テスト プロジェクトのようなデスクトップ アプリケーションでは必ずしも信頼できるとは限りません。 より堅牢な方法は、DataDirectory クラスの AppDomain プロパティを直接設定することです。

これを実現する方法は次のとおりです:

<code class="language-csharp">[TestInitialize]
public void TestInitialize()
{
    string databaseDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases");
    AppDomain.CurrentDomain.SetData("DataDirectory", databaseDirectory);

    // ... rest of your initialization code ...
}</code>
ログイン後にコピー

このコード スニペットは、DataDirectory をアプリケーションのベース ディレクトリ内の「Databases」サブフォルダーに設定します。 その後、接続文字列で |DataDirectory| を利用できます:

<code class="language-xml"><add connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" name="MyConnectionString" /></code>
ログイン後にコピー

このアプローチにより、アプリケーションのデプロイメントの場所に関係なく単体テストで MDF ファイルを見つけることができるようになり、より柔軟で保守可能なテスト環境が提供されます。

以上が単体テストで SQL Express MDF ファイルの相対パスを指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート