다음을 통해 공유


테스트 실행 구성 XML 파일 편집

업데이트: 2007년 11월

방법: 테스트 실행 구성 파일 편집의 설명과 같이 두 가지 방법으로 테스트 실행 구성을 변경할 수 있습니다. 즉, 테스트 실행 구성 편집기를 사용하거나 테스트 실행 구성 파일의 XML을 편집할 수 있습니다. 일반적으로는 우선 테스트 실행 구성 편집기를 사용하여 변경해 보아야 합니다. 변경할 특정 구성 설정을 이 방법으로 변경할 수 없는 경우에 테스트 실행 구성 파일을 편집해야 합니다.

이 항목에서는 사용자가 작업 방법을 선택하는 데 도움이 되도록 테스트 실행 구성 파일의 일반적인 구조를 보여 주고, 테스트 실행 구성 편집기를 사용하여 변경할 수 없지만 직접 편집할 수 있는 설정의 두 가지 예제를 제공합니다.

테스트 실행 구성 편집기를 사용하여 테스트 실행 구성 설정을 변경하면 이 파일에 변경 내용이 반영됨을 확인할 수 있습니다. 이 파일의 값을 변경하면 일부 변경 내용은 테스트 실행 구성 편집기에 반영되지만 일부는 그렇지 않습니다.

테스트 실행 구성 편집기를 사용하는 방법에 대한 자세한 내용은 방법: 테스트 실행 구성 지정을 참조하십시오.

샘플 테스트 실행 구성 파일

다음 예제 파일에서는 특정 요소가 굵은 텍스트로 표시되어 있습니다. 이러한 요소는 테스트 실행 구성 편집기를 사용하여 설정할 수 있는 일반적인 영역에 해당합니다.

<?xml version="1.0" encoding="utf-8"?>

<Tests>  

    <TestRunConfiguration type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration">

      <id type="Microsoft.VisualStudio.TestTools.Common.TestRunConfigurationId">

        <id type="System.Guid">5d9344ed-bbde-4850-b05e-a7058096e956</id>

      </id>

    <name type="System.String">TestRunConfig1</name>

    <description type="System.String">This is a default test run configuration for a local test run.</description>

    <isCodeCoverageEnabled type="System.Boolean">True</isCodeCoverageEnabled>

    <codeCoverageItems type="System.Collections.Generic.List`1[[Microsoft.VisualStudio.TestTools.Common.CodeCoverageItem, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]">

    <_items type="Microsoft.VisualStudio.TestTools.Common.CodeCoverageItem[]">

      <element type="Microsoft.VisualStudio.TestTools.Common.CodeCoverageItem">

        <binaryFile type="System.String">bin\Debug\ClassLibrary1.dll</binaryFile>

        <keyFile type="System.String">Library1.snk</keyFile>

        <pdbFile type="System.String">bin\Debug\ClassLibrary1.pdb</pdbFile>

        <instrumentInPlace type="System.Boolean">True</instrumentInPlace>

        <outputDirectory type="System.String" />

      </element>

      </_items><_size type="System.Int32">1</_size>

      <_version type="System.Int32">1</_version>

    </codeCoverageItems>

    <codeCoverageKeyFile type="System.String" />

    <aspNetProjectCoverageItems type="System.Collections.Generic.List`1[

[Microsoft.VisualStudio.TestTools.Common.AspNetProjectItem, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0,

Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]">

    <_size type="System.Int32">0</_size>

    <_version type="System.Int32">0</_version>

    </aspNetProjectCoverageItems>

    <isExecutedRemotely type="System.Boolean">False</isExecutedRemotely>

    <bucketSize type="System.Int32">200</bucketSize>

    <bucketThreshold type="System.Int32">1000</bucketThreshold>

    <runTimeout type="System.Int32">0</runTimeout>

    <testTimeout type="System.Int32">300000</testTimeout>

    <agentNotRespondingTimeout type="System.Int32">300000</agentNotRespondingTimeout>

    <deploymentTimeout type="System.Int32">300000</deploymentTimeout>

    <controllerName type="System.String" />

    <plugins type="System.Collections.Generic.List`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]">

    <_size type="System.Int32">0</_size>

    <_version type="System.Int32">0</_version>

    </plugins>

    <testTypeSpecificData type="System.Collections.Generic.Dictionary`2[[Microsoft.VisualStudio.TestTools.Common.TestType, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[Microsoft.VisualStudio.TestTools.Common.ITestTypeSpecificRunConfigurationData, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]">

    <buckets type="System.Int32">-1,-1,0</buckets>

      <entries type="System.Collections.Generic.Dictionary`2+Entry[[Microsoft.VisualStudio.TestTools.Common.TestType, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[Microsoft.VisualStudio.TestTools.Common.ITestTypeSpecificRunConfigurationData, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]][]">

        <element type="Microsoft.VisualStudio.TestTools.WebTesting.WebTestRequestHeader, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

          <m_name type="System.String">User-Agent</m_name>

          <m_value type="System.String">Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)</m_value>

        </element>

      </entries>

    <count type="System.Int32">1</count>

    <version type="System.Int32">1</version>

    <freeList type="System.Int32">-1</freeList>

    <freeCount type="System.Int32">0</freeCount>

    <comparer type="System.Collections.Generic.ObjectEqualityComparer`1[[Microsoft.VisualStudio.TestTools.Common.TestType, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]" />

    </testTypeSpecificData>

    <userDeploymentRoot type="System.String" />

    <useDefaultDeploymentRoot type="System.Boolean">True</useDefaultDeploymentRoot>

    <deploymentItems type="Microsoft.VisualStudio.TestTools.Common.DeploymentItemCollection" />

    <testRunNamingScheme type="Microsoft.VisualStudio.TestTools.Common.TestRunNamingScheme">

      <appendTimeStamp type="System.Boolean">True</appendTimeStamp>

      <useDefault type="System.Boolean">True</useDefault>

    </testRunNamingScheme>

    <setupCommand type="System.String" />

    <cleanupCommand type="System.String" />

    <abortRunOnError type="System.Boolean">False</abortRunOnError>

    <mapIPAddresses type="System.Boolean">False</mapIPAddresses>

    <agentProperties type="System.Collections.Specialized.StringDictionary, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

    <hostData type="Microsoft.VisualStudio.TestTools.Common.HostRunConfigurationData">

    <mapHostSpecificData type="System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],

[Microsoft.VisualStudio.TestTools.Common.IHostSpecificRunConfigurationData, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]">

    <count type="System.Int32">0</count>

    <version type="System.Int32">0</version>

    <freeList type="System.Int32">0</freeList>

    <freeCount type="System.Int32">0</freeCount>

    <comparer type="System.Collections.Generic.GenericEqualityComparer`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]" />

    </mapHostSpecificData>

    </hostData>

    <ignoredDependentAssemblies type="System.String" />

    <apartmentState type="System.Threading.ApartmentState">

    <value__ type="System.Int32">0</value__>

    </apartmentState>

  </TestRunConfiguration>

</Tests>

예제

다음 단원에서는 테스트 실행 구성을 제어하는 XML 파일에서 특정 내용을 변경하는 방법을 보여 줍니다. 이러한 내용은 테스트 실행 구성 편집기를 사용하여 변경할 수 없으므로 XML을 직접 편집해야 합니다.

  • 테스트 결과의 기본 위치 변경

  • 코드 검사 계측 위치 변경 및 다시 서명하는 데 필요한 추가 키 파일 지정

테스트 결과의 기본 위치 변경

테스트를 실행하면 테스트 결과가 디스크의 기본 위치에 자동으로 저장됩니다. 테스트 실행 구성 XML 파일을 변경하지 않으면 부울 변수인 useDefaultDeploymentRoot가 기본값인 True로 유지됩니다. 이러한 경우 테스트 결과가 다음 위치에 저장됩니다.

  • Visual Studio IDE에서 실행하는 테스트의 결과는 현재 솔루션 폴더 아래의 TestResults 폴더에 저장됩니다.

  • 명령줄에서 MSTest.exe 명령을 사용하여 실행하는 테스트의 결과는 현재 폴더 아래의 TestResults 폴더에 저장됩니다.

두 가지 설정을 변경하여 이러한 기본 위치를 바꿀 수 있습니다. 우선 useDefaultDeploymentRoot를 False로 설정합니다. 그런 다음 기본 폴더에 새 값을 지정합니다.

예를 들어 다음 줄을 변경합니다.

<useDefaultDeploymentRoot type="System.Boolean">True</useDefaultDeploymentRoot>

위 줄을 다음과 같이 변경합니다.

<useDefaultDeploymentRoot type="System.Boolean">False</useDefaultDeploymentRoot >

<userDeploymentRoot

  type="System.String">C:\My Documents\Visual Studio\Projects\MyResults</userDeploymentRoot>

  <runDeploymentRoot type="System.String" />

코드 검사 계측 위치 변경 및 다시 서명하는 데 필요한 추가 키 파일 지정

테스트 실행 구성 편집기에서 코드 검사를 사용하기 위해 계측할 아티팩트를 선택할 수 있습니다. 또한 원위치 계측을 사용할지 여부를 지정할 수 있고, 강력한 이름의 어셈블리를 계측한 후 다시 서명하는 데 사용할 키 파일을 지정할 수 있습니다.

이러한 설정은 전체 테스트 실행에 적용되므로 모든 어셈블리에 적용됩니다. 어셈블리마다 다른 설정을 사용하려는 경우에는 테스트 실행 구성 XML 파일을 직접 편집해야 합니다.

이 예제에서는 ClassLibrary1.dll과 ClassLibrary2.dll이라는 두 개의 코드 검사 이진 파일이 있습니다. 예를 들어 ClassLibrary2.dll이 아닌 ClassLibrary1.dll에만 원위치 계측을 사용하도록 지정할 수 있습니다. 또한 계측 후 ClassLibrary1.dll에는 Library1.snk를 사용하여 다시 서명하고, ClassLibrary2.dll에는 다른 키 파일인 Library2.snk를 사용하여 다시 서명하도록 지정할 수 있습니다.

다음 XML에서는 이러한 방법을 보여 줍니다. 여기에 나와 있는 각 요소는 어셈블리를 나타내며 <codeCoverageItems> 요소의 자식 요소입니다.

  <element type="Microsoft.VisualStudio.TestTools.Common.CodeCoverageItem">

    <binaryFile type="System.String">bin\Debug\ClassLibrary1.dll</binaryFile>

    <keyFile type="System.String">Library1.snk</keyFile>

    <pdbFile type="System.String">bin\Debug\ClassLibrary1.pdb</pdbFile>

    <instrumentInPlace type="System.Boolean">True</instrumentInPlace>

    <outputDirectory type="System.String" />

  </element>

  <element type="Microsoft.VisualStudio.TestTools.Common.CodeCoverageItem">

    <binaryFile type="System.String">bin\Debug\ClassLibrary2.dll</binaryFile>

    <keyFile type="System.String">Library2.snk</keyFile>

    <pdbFile type="System.String">bin\Debug\ClassLibrary2.pdb</pdbFile>

    <instrumentInPlace type="System.Boolean">False</instrumentInPlace>

    <outputDirectory type="System.String" />

  </element>

참고 항목

작업

방법: 테스트 실행 구성 파일 편집

개념

어셈블리 계측 및 다시 서명

기타 리소스

명령줄 테스트 실행