ホームページ > バックエンド開発 > C++ > 単体テストで SQL Express 接続文字列の相対パスを構成するにはどうすればよいですか?

単体テストで SQL Express 接続文字列の相対パスを構成するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-27 16:21:09
オリジナル
332 人が閲覧しました

How to Configure Relative Paths for SQL Express Connection Strings in Unit Tests?

SQL Express 接続文字列の相対パス構成

単体テスト プロジェクトでは、MDF データベースの場所を指定するという課題に遭遇します。アプリケーションの場所に相対的なファイル。 app.config ファイルで接続文字列を定義する予定ですが、指定したパスのような絶対パスは避けたいと考えています。

Using |DataDirectory|非 Web アプリケーションでは

あなたの想定に反して、|DataDirectory| Web アプリケーションだけでなく、非 Web アプリケーションにも適用できます。これは、アプリケーションのディレクトリに対する相対的なプレースホルダー パスを表します。あなたの場合、|DataDirectory| を設定できます。

ソリューションの実装

目的のソリューションを実装するには、次の手順に従います:

  1. App.config構成:

    • |DataDirectory| を使用して app.config で接続文字列を定義します。相対パスのプレースホルダーとして:

      <add name="MyConnectionString"
        connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
      ログイン後にコピー
  2. DataDirectory プロパティ設定:

    • 単体テスト クラスで、|TestInitialize| を使用します。 |DataDirectory| を設定するメソッドプロパティを目的のパスに追加します:

      [TestInitialize]
      public void TestInitialize()
      {
        AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"));
      
        // Rest of initialization code...
      }
      ログイン後にコピー

      ここでは、|Databases|

この構成では、実際のディレクトリに関係なく、単体テストは相対パスを使用してデータベースにアクセスできます。アプリケーションの場所。

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

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