다음을 통해 공유


방법: 테스트에 대한 파일 배포

테스트를 실행 하기 전에 테스트 하 고 응용 프로그램 위치를 참조 하는 다른 어셈블리와 함께 실행할 수 있는 위치에 복사 해야 합니다.일반적으로 테스트도 테스트 데이터, 구성 파일, 데이터베이스를 명시적으로 로드 된 어셈블리와 같은 추가 파일이 필요합니다.파일만 추가 테스트에 사용할 수 있도록 배포 되도록 지정 해야 합니다.

여기서 테스트를 실행 하려면?

Visual Studio 2012 여러 곳에서 테스트를 실행할 수 있습니다.

테스트 파일에 대한 로컬 테스트를 어떻게 배포 합니까?

가장 좋은 방법은 다음과 같습니다.

  1. 빌드 프로세스의 일부로 빌드 대상 디렉터리에 파일을 복사 합니다.

    • 하나의 테스트 프로젝트에 특정 경우 컨텐트 파일에는 Visual Studio 프로젝트를 테스트할 때 포함 됩니다.솔루션 탐색기에서 선택 하 고 설정 된 출력 디렉터리로 복사 속성을 내용만 복사.

    • 그렇지 않은 경우 빌드 출력 디렉터리에 파일을 복사 하는 빌드 후 작업을 정의 합니다.예를 들면 다음과 같습니다.

      xcopy /Y /S "$(SolutionDir)SharedFiles\*" "$(TargetDir)"
      

      테스트 프로젝트의 프로젝트 속성을 엽니다.C# 프로젝트를 열고 있는 빌드 이벤트 페이지입니다.Visual Basic 프로젝트를 열고 있는 컴파일 페이지를 선택 하 고 빌드 이벤트.복사 명령에 추가 된 빌드 후 이벤트 필드입니다.

  2. 사용 DeploymentItemAttribute 에 테스트 메서드나 테스트 클래스 파일과 빌드 출력 디렉터리를 배포 디렉터리에 복사 해야 하는 폴더를 지정 합니다.

    [TestClass]
    class TestClass1
    {
      [TestMethod]
      [DeploymentItem("source", "targetFolder")]
      public void Test1()
      {
        string testData = System.IO.File.ReadAllText(@"targetFolder\source");
        ...
    } }
    
    <TestClass()> _
    Public Class UnitTest1
        <TestMethod()> _
        <DeploymentItem("source", "targetFolder")> _
        Sub TestMethod1()
            Dim testData As String = _
                System.IO.File.ReadAllText(@"targetFolder\source")
        ...
        End Sub
    End Class
    
    • 소스 파일 또는 디렉터리를 복사 합니다.경로 빌드 출력 디렉터리에 상대적 이거나 절대 경로일 수 있습니다.

    • targetFolder 는 선택 사항입니다.해당 소스 파일 또는 디렉터리 내용이 복사 될 디렉터리입니다.경로 배포 디렉터리에 상대적 이거나 절대 경로일 수 있습니다.기본값은 ".", 배포 디렉터리.

      [!참고]

      targetFolder 디렉터리에 파일 경로 항상 있습니다.Deploymentitem를 사용 하 여 파일의 이름을 변경할 수 없습니다.

    특성 만큼 원하는 및 테스트 메서드 또는 클래스에 적용할 수 있습니다 사용할 수 있습니다.

    실행할 테스트를 선택 하면 시작 되는 테스트를 실행 하기 전에 자신의 DeploymentItem 특성에 지정 된 항목을 모두 복사 됩니다.

  3. 빌드 출력 디렉터리에 직접 단위 테스트를 실행 실행을 보다 신속 하 게 테스트 하도록 고려해 야 합니다.테스트에서 확인 한 후 빌드 서버에 특히 유용 합니다.

    이렇게 하려면 추가 .runsettings 솔루션에 파일을 포함 <DeploymentEnabled>False</DeploymentEnabled>, 선택한 파일에는 테스트, 테스트 설정 메뉴.에 DeploymentItemAttribute 전혀 사용 되지 않는 모든 테스트 실행에서 같은 효과 발생 합니다.

    그러나 사용 하는 경우 배포 폴더를 사용 하지 않도록 수 없습니다는 .testsettings 에 대한 웹 및 부하 테스트에 필요한 파일을 코딩 된 UI 테스트 및 응용 프로그램을 원격 컴퓨터에 배포 된 테스트 합니다.

.Testsettings 파일을 사용 해야 하는?

불필요 한 .testsettings 일반 단위 테스트에 대한 파일.하나는.testsettings 파일이 필요 하지 않은 경우 사용 하지 마십시오.더 느리게 실행 되는 단위 테스트를 수행 하 고 타사 테스트 프레임 워크와 호환 되지 않습니다.다른 방법으로 배포를 고려 합니다.

이 경우.testsettings 파일이 필요 합니다.

.Testsettings 파일을 사용 하는 경우 어셈블리를 응용 프로그램 및 테스트 배포 폴더에 항상 복사 됩니다.

데이터 파일 및 디렉터리를 지정할 수 있습니다에서 배포 .testsettings 편집기의 페이지입니다.각 테스트 실행 전에 배포 폴더로 복사 됩니다.이 페이지에서 지정 된 항목 경로 항상 솔루션 디렉터리에 상대적 이며 항상 테스트 하 고 응용 프로그램 어셈블리와 함께 배포 폴더에 배포 됩니다.

절대 경로 사용 하거나 다른 대상 디렉터리를 지정 하려는 경우 XML 편집기로.testsettings 파일을 열 및 이와 유사한 조각을 삽입:

<Deployment>
  <DeploymentItem filename="C:\MyTestData\TestData.mdb"
        outputDirectory="D:\TestDB\" />
</Deployment>

outputDirectory절대 또는 배포 디렉터리를 기준으로 가능 합니다.

별도 배포 폴더를 사용할 때?

Visual Studio 사용 하 여 테스트를 실행 하는 경우 배포 폴더 TestResults 솔루션 폴더에서 아래에 만들어집니다.

별도 배포 폴더 테스트 메서드나 클래스에는 테스트 실행 DeploymentItem 특성을 있거나 사용 하는 경우 사용 되는 .testsettings 파일입니다.

배포 폴더를 사용 하는 경우 테스트를 실행 하기 전에 다음 파일 및 폴더를 배포 폴더에 복사 됩니다.

  • 테스트 어셈블리 파일

  • 모든 종속 어셈블리

  • 파일 및 디렉터리 중 하나를 사용 하 여 명시적으로 지정 된 DeploymentItemAttribute 나는 .testsettings 파일

로컬 테스트 실행에 대한 배포 폴더

테스트용 로컬 배포 폴더

때 파일 배포와 어떤 순서로?

테스트를 시작 하기 전에 테스트 실행에서 배포할 파일을 모두 복사 됩니다.테스트를 일괄 처리를 단일 명령 또는 예약 된 이벤트로 시작 하는 테스트입니다.이 배포에 대한 특정 테스트 메서드의 데이터 파일을 지정 하는 경우 또한 동일한 실행 수행 하는 다른 모든 테스트에 대한 사용할 수 있음을 의미 합니다.

다음 항목이 표시 된 순서 대로 복사 됩니다.이름이 같은 경우 나중에 복사 된 항목은 이전에 복사 된 덮어씁니다.

  1. 사용 하 여 지정 된 항목DeploymentItemAttribute

  2. 종속성입니다.예를 들어, 응용 프로그램 구성 파일 및 종속 어셈블리입니다.

  3. 지정 된 항목은 .testsettings파일 하나를 사용 하는 경우.

  4. 계측된 이진 파일.계측 된 코드 검사 또는 Intellitrace를 사용 하도록 예를 들어, 어셈블리입니다.

    원위치 계측을 사용하는 경우 이진 파일은 먼저 계측된 다음 배포 디렉터리로 복사됩니다. 그렇지 않은 경우에는 먼저 복사된 다음 계측됩니다.원위치 계측은 로컬로 실행되는 테스트의 기본 설정입니다.

  5. 테스트를 구성하는 파일.여기에는 단위 테스트의 경우 테스트 어셈블리, 수동 테스트의 경우 텍스트 또는 .mht 파일, 제네릭 테스트와 같은 기타 테스트 종류의 경우 기타 파일 형식이 포함됩니다.

TestResults 디렉토리에 무엇입니까?

  • 테스트 실행 폴더.TestResults 시작한 각 테스트 실행에 대한 폴더를 포함 합니다.이름을 만든 시간이 포함 되어 있습니다.

    테스트 실행 폴더.testsettings 파일의 설정 및 정리 스크립트를 지정 하는 경우 이러한 스크립트를 포함 합니다.

  • Out.각 테스트 실행 폴더에는 Out이라는 폴더가 하나씩 있습니다.Out 폴더는 테스트 실행을 시작할 때를 어셈블리 및 기타 배포 파일 복사 하는 실제 배포 폴더가입니다.

  • In.코드 검사 결과 및 특정 테스트 결과에 명명 된 폴더에 저장 됩니다.

참고 항목

참조

DeploymentItemAttribute

개념

어셈블리 계측 및 다시 서명

기타 리소스

Visual Studio 테스트를 위한 테스트 설정 지정