> 백엔드 개발 > C++ > 단위 테스트에서 SQL Express 연결 문자열의 상대 경로를 구성하는 방법은 무엇입니까?

단위 테스트에서 SQL Express 연결 문자열의 상대 경로를 구성하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-27 16:21:09
원래의
333명이 탐색했습니다.

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

SQL Express 연결 문자열에 대한 상대 경로 구성

단위 테스트 프로젝트에서 MDF 데이터베이스의 위치를 ​​지정하는 문제에 직면합니다. 응용 프로그램 위치를 기준으로 파일을 저장합니다. app.config 파일에서 연결 문자열을 정의하려고 하지만 제공한 것과 같은 절대 경로는 피하는 것이 좋습니다.

|DataDirectory| 사용 웹이 아닌 응용 프로그램에서는

가정과 달리 |DataDirectory| 웹 애플리케이션뿐만 아니라 웹 애플리케이션이 아닌 애플리케이션에도 적용할 수 있습니다. 이는 애플리케이션 디렉터리에 상대적인 자리 표시자 경로를 나타냅니다. 귀하의 경우에는 |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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿