다음을 통해 공유


방법: Visual Studio 2010 사용자 지정 테스트 조건을 이전 릴리스에서 SQL Server Data Tools로 업그레이드

SQL Server Data Tools 이전 버전에서 만든 테스트 단위 조건을 사용하려면 업그레이드해야 합니다.

참조 업데이트

프로젝트 참조를 업데이트하려면

  1. Visual Basic에서는 솔루션 탐색기에서 모든 파일 표시를 선택합니다.

  2. 솔루션 탐색기에서 참조 노드를 확장합니다.

  3. 다음 어셈블리 참조를 마우스 오른쪽 단추로 클릭하고 제거를 클릭합니다.

    1. Microsoft.Data.Schema.UnitTesting

    2. Microsoft.Data.Schema

  4. 프로젝트 메뉴에서 또는 솔루션 탐색기 프로젝트 폴더를 마우스 오른쪽 단추로 클릭하여 참조 추가를 선택합니다.

  5. .NET 탭을 클릭합니다.

  6. 구성 요소 이름 목록에서 System.ComponentModel.Composition을 선택하고 확인을 클릭합니다.

  7. 필요한 어셈블리 참조를 추가합니다. 프로젝트 노드를 마우스 오른쪽 단추로 클릭한 다음 참조 추가를 클릭합니다. 찾아보기를 선택하고 C:\Program Files (x86)\Microsoft SQL Server\110\DAC\Bin 폴더로 이동합니다. Microsoft.Data.Tools.Schema.Sql.dll을 닫고 추가를 클릭한 다음 확인을 클릭합니다.

  8. 프로젝트 메뉴에서 프로젝트 언로드를 클릭합니다.

  9. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 project_name.csproj편집을 선택합니다.

  10. 다음의 가져오기 문을 Microsoft.CSharp.targets의 가져오기 뒤에 추가합니다.

    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\SSDT\Microsoft.Data.Tools.Schema.Sql.UnitTesting.targets" Condition="'$(VisualStudioVersion)' == ''" />  
    
    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.Sql.UnitTesting.targets" Condition="'$(VisualStudioVersion)' != ''" />  
    
  11. 파일을 저장하고 닫습니다. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 프로젝트 다시 로드를 선택합니다.

  12. 테스트 조건 클래스를 열고 Microsoft.Data.Schema로 시작하는 모든 사용하고 있는 문을 제거합니다. 이렇게 하는 가장 쉬운 방법은 파일을 마우스 오른쪽 단추로 클릭하고 Using 구성을 선택한 후 제거 및 정렬을 선택하는 것입니다. 다음 using 문을 제거해야 합니다.

    using Microsoft.Data.Schema.UnitTesting;  
    using Microsoft.Data.Schema.UnitTesting.Conditions;  
    using Microsoft.Data.Schema.Extensibility;  
    using Microsoft.Data.Schema;  
    
  13. 파일에 다음 using 문이 없으면 추가합니다.

    using System.ComponentModel;  
    using Microsoft.Data.Tools.Schema.Sql.UnitTesting;  
    using Microsoft.Data.Tools.Schema.Sql.UnitTesting.Conditions;  
    

이제 테스트 조건에서 SQL Server 단위 테스트 어셈블리 참조를 사용합니다.

클래스 특성 및 형식 참조 업데이트

이전 단위 테스트 클래스 특성을 새 특성으로 바꿉니다. SQL Server 단위 테스트 확장성은 이제 MEF(Managed Extensibility Framework)를 기반으로 합니다. 일부 형식 참조도 업데이트해야 합니다.

클래스 특성 업데이트

코드를 다음과 같이 업데이트합니다.

  1. DatabaseSchemaProviderCompatibility 특성을 제거합니다. 이 특성은 이전 버전의 확장성 기능에서 필요했지만 SQL Server 단위 테스트에서는 지원되지 않습니다.

  2. DisplayName 특성을 제거합니다. 표시 이름은 새 특성에 포함됩니다.

  3. 새로운 ExportTestCondition 특성을 추가합니다. SQL Server 단위 테스트에서 테스트 조건을 검색하고 사용하려면 이 특성이 있어야 합니다. ExportTestConditionDatabaseSchemaProviderCompatibility 특성을 바꿉니다. ExportTestCondition에는 다음 두 개의 매개 변수가 사용됩니다.

    • DisplayName이 첫 번째 매개 변수입니다. 이렇게 하면 DisplayName 특성이 대체되고 이 형식의 모든 테스트 조건을 설명하는 데 사용됩니다.

    • 두 번째 매개 변수는 해당 확장을 고유하게 식별하는 데 사용됩니다. 형식은 고유해야 하므로 typeof(NewTestCondition)를 사용하여 간단히 형식을 전달할 수 있습니다. 그러나 원하는 경우 문자열 ID도 전달할 수 있습니다.

  4. 클래스 정의는 다음과 같이 변경되어야 합니다.

    이전:

    [DatabaseSchemaProviderCompatibility(typeof(DatabaseSchemaProvider))]  
    [DatabaseSchemaProviderCompatibility(null)]  
    [DisplayName("NewTestCondition")]  
    public class NewTestCondition:TestCondition  
    {  
       // Additional implementation to be added here  
    }  
    

    이후:

    [ExportTestCondition("NewTestCondition ", typeof(NewTestCondition))]  
    public class NewTestCondition:TestCondition  
    {  
       // Additional implementation to be added here  
    }  
    

형식 참조 업데이트

SQL Server 단위 테스트 프레임워크에서 일부 형식 이름이 변경되었습니다. 새 형식 이름을 사용하도록 코드를 업데이트하려면 편집 메뉴에서 찾기 및 바꾸기를 사용합니다. 이제 형식 이름은 Sql로 시작합니다. 클래스 이름은 다음과 같이 업데이트해야 합니다.

이전 형식 이름 새 형식 이름
ExecutionResult SqlExecutionResult

업그레이드한 테스트 조건 설치

이전 버전의 데이터베이스 단위 테스트에서는 테스트 조건을 전역 어셈블리 캐시에 설치하거나 어셈블리 정보가 포함된 XML 파일을 만들어야 했을 수 있습니다. SQL Server 단위 테스트를 사용할 경우 이 추가 프로세스가 더 이상 필요하지 않습니다. 자세한 내용은 프로젝트 컴파일 및 테스트 조건 설치를 참조하세요.

참조를 업데이트한 후 어셈블리가 서명되고 컴파일되었는지 확인합니다.

다음에는 출력 디렉터리(기본적으로 My Documents\Visual Studio 2010\Projects\\<yoursolutionname>\\<yourprojectname>\bin\Debug\\)의 어셈블리 파일을 %Program Files%\Microsoft Visual Studio <Version>\Common7\IDE\Extensions\Microsoft\SQLDB\TestConditions 디렉터리에 복사합니다. Visual Studio가 시작되면 TestConditions 디렉터리의 모든 확장을 식별하고 세션에서 사용할 수 있도록 합니다.

새 테스트 조건을 사용해야 하는 기존 테스트 업그레이드

이전 테스트 조건을 사용하고 새 조건을 사용해야 하는 모든 테스트 프로젝트를 찾습니다. 이러한 테스트 프로젝트가 업그레이드되었는지 확인합니다. 자세한 내용은 데이터베이스 단위 테스트가 포함된 이전 테스트 프로젝트 업그레이드를 참조하세요.

이전 테스트 조건에 대한 어셈블리 참조를 제거합니다.

프로젝트에 새 SQL Server 단위 테스트를 추가하여 프로젝트에 업그레이드된 테스트 조건에 대한 어셈블리 참조를 만듭니다. 참조를 만들기 위해서는 테스트 클래스를 추가해야 합니다. 참조를 추가한 후에는 테스트 클래스를 삭제할 수 있습니다.

참고 항목

SQL Server 단위 테스트의 사용자 지정 테스트 조건