다음을 통해 공유


명령줄에서 VSTest.console 사용

 

게시: 2016년 4월

VSTest.Console.exe를 사용하여 명령줄에서 단위 테스트 또는 코딩된 UI 테스트를 실행합니다. VSTest.Console.exe는 성능 개선을 위해 최적화되었으며 Visual Studio 2012 이상 버전에서 MSTest.exe 대신에 사용됩니다.

VSTest.Console.exe 명령줄에서 원하는 순서로 여러 옵션을 지정합니다. 이러한 옵션은 아래의 일반 명령줄 옵션 표에 나와 있습니다.

vstest.console.exe는 대소문자 구분 없이 지정하는 이러한 옵션과 값을 해석합니다.

다음 표에는 VSTest.Console.exe와 관련된 모든 옵션과 이러한 옵션에 대한 간단한 설명이 나와 있습니다. 명령줄에서 VSTest.Console **/?**를 입력하면 비슷한 요약을 볼 수 있습니다. VSTest.Console.exe는 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow에 있습니다.

참고

Visual Studio 2012의 MSTest 어댑터는 호환성 지원을 위해 레거시 모드(mstest.exe를 포함하는 실행 테스트에 해당)로도 작동합니다.레거시 모드에서는 새 VS11의 기능인 TestCaseFilter를 활용할 수 없습니다..testsettings 파일이 지정되거나, forcelegacymode가 .runsettings 파일에서 true로 설정되거나, HostType 같은 특성을 사용하는 경우 어댑터를 레거시 모드로 전환할 수 있습니다.

참고

ARM 아키텍처 기반 컴퓨터에서 자동화된 테스트를 실행하려면 VSTest.Console.exe를 사용해야 합니다.

일반 명령줄 옵션

/Settings:[ 파일 이름 ]

데이터 수집기 등의 추가 설정을 사용하여 테스트를 실행합니다.

예: /Settings:Local.RunSettings

/Tests:[ 테스트 이름 ]

제공된 값과 같은 이름의 테스트를 실행합니다.

다중 값을 제공하려면 각각의 값을 쉼표로 구분합니다.

예: /Tests:TestMethod1,testMethod2

경고

/Tests 명령줄 옵션은 /TestCaseFilter 명령줄 옵션과 함께 사용할 수 없습니다.

/Enablecodecoverage

테스트 실행에서 데이터 진단 어댑터 CodeCoverage를 활성화합니다.

설정 파일을 사용하여 지정하지 않은 경우 기본 설정이 사용됩니다.

/InIsolation

격리 모드에서 테스트를 실행합니다.

이렇게 하면 vstest.console.exe 프로세스가 테스트 시 오류에서 중지될 가능성은 매우 적지만 테스트 속도가 느려질 수 있습니다.

/UseVsixExtensions

이렇게 하면 vstest.console.exe 프로세스에서 테스트 실행에 설치된 VSIX 확장(있는 경우)을 사용하거나 건너뜁니다.

예: /UseVsixExtensions:true

/Platform:[ 플랫폼 유형 ]

테스트를 실행하는 데 사용할 대상 플랫폼 아키텍처입니다.

올바른 값은 x86, x64, ARM입니다.

/Framework: [ Framework 버전 ]

테스트 실행에 사용될 대상 .NET Framework 버전입니다.

사용할 수 있는 값은 Framework35, Framework40 및 Framework45입니다.

예: /Framework:framework40

/TestCaseFilter:[ ]

지정된 식과 일치하는 테스트를 실행합니다.

<Expression>의 형식은 <property>=<value>[|<Expression>]입니다.

예: /TestCaseFilter:"Priority=1"

예: /TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName"

경고

/TestCaseFilter 명령줄 옵션은 /Tests 명령줄 옵션과 함께 사용할 수 없습니다.

/Logger:[ uri/friendlyname ]

테스트 결과에 대해 로거를 지정합니다.

예: Visual Studio 테스트 결과 파일(TRX)에 결과를 기록하려면 /Logger:trx를 사용합니다.

예: Team Foundation Server에 테스트 결과를 게시하려면 TfsPublisher를 사용합니다.

/logger:TfsPublisher;

Collection=<team project url>;

BuildName=<build name>;

TeamProject=<team project name>;

[;Platform=<Defaults to “Any CPU”>]

[;Flavor=<Defaults to “Debug”>]

[;RunTitle=<title>]

참고

TfsPublisher 로거를 사용하려면 Visual Studio 2012와 [Visual Studio 2012.1] 이상이 필요합니다.

/ListTests:[ 파일 이름 ]

지정된 테스트 컨테이너에서 검색된 테스트를 나열합니다.

/ListDiscoverers

설치된 테스트 Discoverer를 나열합니다.

/ListExecutors

설치된 테스트 Executor를 나열합니다.

/ListLoggers

설치된 테스트 로거를 나열합니다.

/ListSettingsProviders

설치된 테스트 설정 공급자를 나열합니다.

테스트 파일에 VSTest.Console.exe 사용

vstest.console.exe의 구문은 다음과 같습니다.

Vstest.console.exe [TestFileNames] [Options]

다음은 명령줄에서 VSTest.Console.exe를 사용하는 예를 보여 줍니다.

Vstest.console.exe myTestProject.dll

다음은 여러 테스트 파일과 함께 명령줄에서 VSTest.Console.exe를 사용하는 예를 보여 줍니다. 이 경우 테스트 파일 이름을 공백으로 구분합니다.

Vstest.console.exe myTestFile.dll myOtherTestFile.dll

예제

다음은 Vstest.console.exe 실행과 관련된 여러 옵션을 사용하는 예를 보여 줍니다. 이 경우 myTestFile.dll 파일에서 테스트를 실행하는 한편, Local.RunSettings 파일과 격리된 프로세스에서 지정된 데이터를 수집합니다. 또한 "우선 순위 1"을 기반으로 하여 실행할 테스트 사례를 필터링하고 그 결과를 .trx 파일에 기록합니다.

vstest.console.exe  myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx

참고 항목

명령줄에서 자동화된 테스트 실행
Compatibility of Test Settings with Visual Studio 2010
Upgrading Tests from Earlier Versions of Visual Studio