Share via


방법: .NET Framework 3.5를 대상으로 하는 단위 테스트 구성

Visual Studio 2010을 사용할 경우 테스트 프로젝트의 기본 .NET Framework 대상 버전은 .NET Framework 4입니다. 또한 Visual Studio 2008의 테스트 프로젝트를 업그레이드할 경우 기본적으로 .NET Framework 4로 대상이 지정되어 업그레이드됩니다. 프로젝트 속성을 편집하고 프로젝트 대상을 .NET Framework 3.5로 명시적으로 다시 지정할 수 있습니다.

경고

.NET Framework 3.5를 사용하도록 테스트 프로젝트 대상을 다시 지정하려면 Visual Studio 2010 서비스 팩 1을 설치해야 합니다.

Visual Studio 2010 서비스 팩 1은 .NET Framework 3.5를 대상으로 하는 단위 테스트에 대해 다음과 같은 기본 지원을 제공합니다.

  • 단위 테스트 프로젝트를 만들고 .NET Framework 3.5를 대상으로 할 수 있습니다.

  • 로컬 컴퓨터에서 Visual Studio 2010 서비스 팩 1의 .NET Framework 3.5를 대상으로 하는 단위 테스트를 실행할 수 있습니다.

  • 명령줄에서 MSTest.exe를 사용하여 .NET Framework 3.5를 대상으로 하는 단위 테스트를 실행할 수 있습니다.

  • 빌드의 일부로 빌드 에이전트에 대한 단위 테스트를 실행할 수 있습니다.

SharePoint 2010 응용 프로그램 테스트

위의 기능들을 사용하여 Visual Studio 2010 서비스 팩 1을 사용하는 SharePoint 2010 응용 프로그램에 대한 단위 테스트 및 통합 테스트를 작성할 수도 있습니다. Visual Studio 2010을 사용하여 SharePoint 2010 응용 프로그램을 개발하는 방법에 대한 추가 정보는 Visual Studio에서 SharePoint 개발, SharePoint 솔루션 빌드 및 디버깅ALM 기능을 사용하여 SharePoint 코드 확인 및 디버깅을 참조하십시오.

제한

.NET Framework 3.5를 사용하도록 테스트 프로젝트 대상을 다시 지정할 경우 다음과 같은 제한 사항이 적용됩니다.

  • .NET Framework 3.5에서는 단위 테스트만 포함하는 테스트 프로젝트에 대해 다중 대상 지정이 지원됩니다. .NET Framework 3.5에서는 코드 UI나 로드 테스트와 같은 다른 테스트 형식을 지원하지 않습니다. 단위 테스트 외의 다른 테스트 형식에 대해서는 대상 다시 지정이 차단됩니다.

  • .NET Framework 3.5 테스트는 기본 호스트 어댑터에서만 실행할 수 있습니다. 그러나 ASP.NET 호스트 어댑터에서는 실행할 수 없습니다. ASP.NET Development Server 컨텍스트에서 실행해야 하는 ASP.NET 응용 프로그램은 .NET Framework 4와 호환되어야 합니다.

  • .NET Framework 3.5 다중 대상 지정을 지원하는 테스트를 실행할 경우 데이터 수집이 지원되지 않습니다. Visual Studio 명령줄 도구를 사용하여 코드 검사를 실행할 수 있습니다.

  • .NET Framework 3.5를 사용하는 단위 테스트는 원격 컴퓨터에서 실행할 수 없습니다.

Visual Basic 단위 테스트 프로젝트에 대해 .NET Framework 3.5로 대상 다시 지정

  1. Visual Basic 단위 테스트 프로젝트를 새로 만듭니다. 파일 메뉴에서 새로 만들기를 선택한 다음 프로젝트를 클릭합니다.

    새 프로젝트 대화 상자가 표시됩니다.

  2. 설치된 템플릿에서 Visual Basic을 확장합니다. 테스트를 선택한 다음 테스트 프로젝트 템플릿을 선택합니다.

  3. 이름 텍스트 상자에 Visual Basic 테스트 프로젝트 이름을 입력한 다음 확인을 클릭합니다.

  4. 솔루션 탐색기에서 새 Visual Basic 테스트 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

    Visual Basic 테스트 프로젝트의 속성이 표시됩니다.

  5. 다음 그림과 같이 컴파일 탭을 선택한 다음 고급 컴파일 옵션 단추를 클릭합니다.

    고급 컴파일 옵션

  6. 다음 그림과 같이 대상 프레임워크(모든 구성) 드롭다운 목록을 사용하여 대상 프레임워크를 .NET Framework 4에서 .NET Framework 3.5로 변경합니다.

    대상 프레임워크 드롭다운 목록

    참고

    오류 메시지가 나타날 경우 메시지에 링크로 제공된 지침을 따르거나, 다음 테스트 프로젝트 대상을 .NET Framework 3.5로 다시 지정하기 위한 추가 단계 절차를 참조합니다.

Visual C# 단위 테스트 프로젝트에 대해 .NET Framework 3.5로 대상 다시 지정

  1. Visual C# 단위 테스트 프로젝트를 새로 만듭니다. 파일 메뉴에서 새로 만들기를 선택한 다음 프로젝트를 클릭합니다.

    새 프로젝트 대화 상자가 표시됩니다.

  2. 설치된 템플릿에서 **Visual C#**을 확장합니다. 테스트를 선택한 다음 테스트 프로젝트 템플릿을 선택합니다.

  3. 이름 텍스트 상자에 Visual C# 테스트 프로젝트 이름을 입력한 다음 확인을 클릭합니다.

  4. 솔루션 탐색기에서 새 Visual C# 테스트 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

    Visual C# 테스트 프로젝트의 속성이 표시됩니다.

  5. 다음 그림과 같이 응용 프로그램 탭을 선택한 다음 대상 프레임워크 드롭다운 목록을 사용하여 대상 프레임워크를 .NET Framework 4에서 .NET Framework 3.5로 변경합니다.

    대상 프레임워크 드롭다운 목록

    참고

    오류 메시지가 나타날 경우 메시지에 링크로 제공된 지침을 따르거나, 다음 테스트 프로젝트 대상을 .NET Framework 3.5로 다시 지정하기 위한 추가 단계 절차를 참조합니다.

Managed C++/CLI 단위 테스트 프로젝트에 대해 .NET Framework 3.5로 대상 다시 지정

  1. C++ 단위 테스트 프로젝트를 새로 만듭니다. 파일 메뉴에서 새로 만들기를 선택한 다음 프로젝트를 클릭합니다.

    새 프로젝트 대화 상자가 표시됩니다.

    경고

    Visual Studio 2008을 사용하여 만들어진 단위 프로젝트가 있으며 Visual Studio 2010 서비스 팩 1을 사용하는 .NET Framework 3.5를 대상으로 하는 C++/CLI 단위 테스트 프로젝트를 빌드하려는 경우 Visual Studio 2008에서 프로젝트를 사용하기 전에 Visual Studio 2008에 Visual Studio 2008 서비스 팩 1을 설치해야 합니다. 이것은 대상을 프레임워크 버전 3.5로 지정하기 위한 요구 사항입니다. .NET Framework 3.5 재배포 가능 패키지만 설치할 수는 없습니다. Visual Studio 2010의 cl.exe와 같은 Visual C++ 도구는 대상을 .NET 4 Framework로만 지정할 수 있습니다. 따라서 .NET Framework 3.5로 대상을 지정하려면 이전 버전의 도구가 있어야 합니다. 이러한 도구는 Visual Studio와 함께 릴리스되었으며 .NET Framework에는 없습니다.

  2. 설치된 템플릿에서 **Visual C ++**을 확장합니다. 테스트를 선택한 다음 테스트 프로젝트 템플릿을 선택합니다.

  3. 이름 텍스트 상자에 Visual C++ 테스트 프로젝트 이름을 입력한 다음 확인을 클릭합니다.

  4. 솔루션 탐색기에서 새 Visual C++ 테스트 프로젝트를 마우스 오른쪽 단추로 클릭하고 프로젝트 언로드를 선택합니다.

  5. 솔루션 탐색기에서 언로드된 Visual C++ 테스트 프로젝트를 마우스 오른쪽 단추로 클릭하고 <project name>.vcxproj 편집을 선택합니다.

    .vcxproj 파일이 편집기에서 열립니다.

  6. "Globals"라는 레이블이 지정된 PropertyGroup에서 TargetFrameworkVersion을 버전 3.5로 설정합니다.

    <PropertyGroup Label="Globals">
        <TargetName>DefaultTest</TargetName>
        <ProjectTypes>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}</ProjectTypes>
        <ProjectGUID>{CE16D77A-E364-4ACD-948B-1EB6218B0EA3}</ProjectGUID>
        <TargetFrameworkVersion>3.5</TargetFrameworkVersion>
        <Keyword>ManagedCProj</Keyword>
        <RootNamespace>CPP_Test</RootNamespace>
      </PropertyGroup>
    
  7. .vcxproj 파일을 저장하고 닫습니다.

  8. 솔루션 탐색기에서 새 Visual C++ 테스트 프로젝트를 마우스 오른쪽 단추로 클릭하고 프로젝트 다시 로드를 선택합니다.

테스트 프로젝트 대상을 .NET Framework 3.5로 다시 지정하기 위한 추가 단계

Visual Studio 2010에 서비스 팩 1을 설치하기 전에 devenv.exe.config 파일을 수정했을 경우 .NET Framework 3.5로 대상을 지정하려면 추가 단계가 필요합니다. 서비스 팩 1 설치 시 구성 파일이 수정된 것이 감지되면 구성 파일을 덮어쓰지 않습니다.

참고

Visual Studio 추가 기능이나 플러그 인을 설치했을 경우 devenv.exe.config 파일이 수정되었을 수 있습니다.

서비스 팩 1을 설치하기 전에 devenv.exe.config 파일이 수정되었으며 이 파일이 올바르지 않으면 다음과 같은 경우에 오류 메시지가 나타납니다.

  • 서비스 팩 1을 설치한 Visual Studio 2010을 사용하는 테스트 프로젝트에 대해 .NET Framework 3.5로 대상을 다시 지정하려고 시도한 경우

  • 이미 대상을 다시 지정한 테스트 프로젝트를 열려고 시도한 경우

이 문제를 해결하려면 다음 절차를 사용합니다.

구성 파일에 누락된 XML 항목을 추가하려면

  1. Visual Studio 2010의 모든 인스턴스를 닫습니다.

  2. 관리자 권한으로 Visual Studio 2010 명령 프롬프트를 엽니다.

  3. 32비트 Windows를 사용할 경우 **"%programfiles%\MicrosoftVisual Studio 10.0\Common7\IDE"**로 디렉터리를 변경합니다. 또는 64비트 Windows를 사용할 경우 **"%programfiles(x86)%\MicrosoftVisual Studio 10.0\Common7\IDE"**로 디렉터리를 변경합니다.

  4. 메모장과 같은 텍스트 편집기에서 devenv.exe.config 파일을 엽니다.

  5. 다음 항목을 <assemblyBinding> 노드에 추가합니다.

    <dependentAssembly>
    
            <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.UnitTestFramework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    
            <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/>
    
          </dependentAssembly>
    
          <dependentAssembly>
    
            <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    
            <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/>
    
          </dependentAssembly>
    
          <dependentAssembly>
    
            <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    
            <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/>
    
          </dependentAssembly>
    
          <dependentAssembly>
    
            <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Tip" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    
            <bindingRedirect oldVersion="10.1.0.0" newVersion="10.0.0.0"/>
    
          </dependentAssembly>
    
  6. 다음 항목을 <configuration> 노드에 추가합니다.

    <appSettings>
        <add key="TestProjectRetargetTo35Allowed" value="true" />
     </appSettings>
    
  7. devenv.exe.config 파일을 저장합니다.

  8. Visual Studio 2010을 다시 시작합니다.

    이제 테스트 프로젝트에 대해 대상을 .NET Framework 3.5로 다시 지정할 수 있습니다.

참고 항목

개념

기존 코드에 대한 단위 테스트 생성 및 실행

기타 리소스

Visual Studio에서 SharePoint 개발

SharePoint 솔루션 빌드 및 디버깅