명령줄 옵션 VSTest.Console.exe
VSTest.Console.exe 테스트를 실행하는 명령줄 도구입니다. 명령줄에서 순서에 따라 여러 옵션을 지정할 수 있습니다. 이러한 옵션은 일반 명령줄 옵션나열됩니다.
메모
Visual Studio의 MSTest 어댑터는 호환성을 위해 레거시 모드(mstest.exe테스트 실행과 동일)에서도 작동합니다. 레거시 모드에서는 TestCaseFilter 기능을 활용할 수 없습니다. 어댑터는
ARM 아키텍처 기반 컴퓨터에서 자동화된 테스트를 실행하려면 VSTest.Console.exe사용해야 합니다.
개발자 명령 프롬프트 열어 명령줄 도구를 사용하거나 \ Microsoft Visual Studio\<버전>\<버전>\common7\ide\CommonExtensions\<Platform %Program Files(x86)%도구를 찾을 수 있습니다. Microsoft>.
일반 명령줄 옵션
다음 표에는 VSTest.Console.exe 대한 모든 옵션과 간단한 설명이 나와 있습니다. 명령줄에 VSTest.Console/?
입력하여 비슷한 요약을 볼 수 있습니다.
선택 | 묘사 |
---|---|
[테스트 파일 이름] | 지정된 파일에서 테스트를 실행합니다. 여러 테스트 파일 이름을 공백으로 구분합니다. 예: mytestproject.dll , mytestproject.dll myothertestproject.exe |
/Settings:[파일 이름] | 데이터 수집기 등의 추가 설정을 사용하여 테스트를 실행합니다. 자세한 내용은 .runsettings 파일 사용하여 단위 테스트 구성 예: /Settings:local.runsettings |
/Tests:[테스트 이름] | 제공된 값을 포함하는 이름으로 테스트를 실행합니다. 이 명령은 네임스페이스를 포함하여 전체 테스트 이름과 일치합니다. 여러 값을 제공하려면 쉼표로 구분합니다. 예: /Tests:TestMethod1,testMethod2 /Tests 명령줄 옵션은 /TestCaseFilter 명령줄 옵션과 함께 사용할 수 없습니다. |
/Parallel | 테스트를 병렬로 실행되도록 지정합니다. 기본적으로 컴퓨터에서 사용 가능한 모든 코어를 사용할 수 있습니다. 설정 파일에서 사용할 코어 수를 구성할 수 있습니다. |
/Enablecodecoverage | 테스트 실행에서 데이터 진단 어댑터 CodeCoverage를 사용하도록 설정합니다. 설정 파일을 사용하여 지정하지 않은 경우 기본 설정이 사용됩니다. |
/InIsolation | 격리된 프로세스에서 테스트를 실행합니다. 이렇게 격리하면 테스트의 오류에서 vstest.console.exe 프로세스가 중지될 가능성이 적지만 테스트 실행 속도가 느려질 수 있습니다. |
/UseVsixExtensions | 이 옵션을 사용하면 vstest.console.exe 프로세스에서 테스트 실행에 설치된 VSIX 확장을 사용하거나 건너뜁니다(있는 경우). 이 옵션은 더 이상 사용되지 않습니다. Visual Studio의 다음 주요 릴리스부터 이 옵션은 제거될 수 있습니다. NuGet 패키지로 사용할 수 있는 확장 사용으로 이동합니다. 예: /UseVsixExtensions:true |
/TestAdapterPath:[경로] |
vstest.console.exe 프로세스에서 테스트 실행의 지정된 경로(있는 경우)에서 사용자 지정 테스트 어댑터를 사용하도록 합니다. 예: /TestAdapterPath:[pathToCustomAdapters] |
/Platform:[플랫폼 유형] | 현재 런타임에서 결정된 플랫폼 대신 지정된 플랫폼을 강제로 사용합니다. 이 옵션은 Windows에서 x86 및 x64 플랫폼만 강제 적용할 수 있습니다. ARM 옵션이 손상되어 대부분의 시스템에서 x64가 발생합니다. ARM64와 같은 유효한 값 목록에 없는 런타임에서 실행하려면 이 옵션을 지정하지 마세요. 유효한 값은 x86, x64 및 ARM입니다. |
/Framework: [Framework 버전] | 테스트 실행에 사용할 대상 .NET 버전입니다. 예제 값은 Framework35 , Framework40 , Framework45 , FrameworkUap10 , .NETCoreApp,Version=v1.1 .TargetFrameworkAttribute는 어셈블리에서 이 옵션을 자동으로 검색하는 데 사용되며 특성이 없는 경우 기본적으로 Framework40 . .NET Core 어셈블리에서 TargetFrameworkAttribute 제거하는 경우 이 옵션을 명시적으로 지정해야 합니다.대상 프레임워크가 Framework35지정된 경우 테스트는 CLR 4.0 "호환 모드"에서 실행됩니다. 예: /Framework:framework40 |
/TestCaseFilter:[식] | 지정된 식과 일치하는 테스트를 실행합니다. <식> [|<식>]><속성>=<값 형식입니다. 예: /TestCaseFilter:"Priority=1" 예: /TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName" /TestCaseFilter 명령줄 옵션은 /Tests 명령줄 옵션과 함께 사용할 수 없습니다. 식을 만들고 사용하는 방법에 대한 자세한 내용은 TestCase 필터참조하세요. |
/? | 사용 정보를 표시합니다. |
/Logger:[uri/friendlyname] | 테스트 결과에 대한 로거를 지정합니다. 여러 로거를 사용하도록 설정하려면 매개 변수를 여러 번 지정합니다. 예: 결과를 Visual Studio TRX(테스트 결과 파일)에 기록하려면 /Logger:trx [; LogFileName=<기본값은 고유한 파일 이름>] |
/ListTests:[파일 이름] | 지정된 테스트 컨테이너에서 검색된 테스트를 나열합니다. 참고: /TestCaseFilters 옵션은 테스트를 나열할 때 영향을 주지 않습니다. 실행되는 테스트만 제어합니다. |
/ListDiscoverers | 설치된 테스트 검색기를 나열합니다. |
/ListExecutors | 설치된 테스트 실행기를 나열합니다. |
/ListLoggers | 설치된 테스트 로거를 나열합니다. |
/ListSettingsProviders | 설치된 테스트 설정 공급자를 나열합니다. |
/비난 | 비난 모드에서 테스트를 실행합니다. 이 옵션은 테스트 호스트가 충돌하는 문제가 있는 테스트를 격리하는 데 유용합니다. 크래시가 감지되면 크래시 전에 실행된 테스트 순서를 캡처하는 시퀀스 파일을 TestResults/<Guid>/<Guid>_Sequence.xml 만듭니다. 자세한 내용은 데이터 수집기참조하세요. |
/Diag:[파일 이름] | 진단 추적 로그를 지정된 파일에 씁니다. |
테스트 결과 디렉터리가 없는 경우 지정된 경로에 만들어집니다. 예: /ResultsDirectory:<pathToResultsDirectory> |
|
/ParentProcessId:[parentProcessId] | 현재 프로세스를 시작하는 부모 프로세스의 프로세스 ID입니다. |
/Port:[포트] | 소켓 연결 및 이벤트 메시지 수신을 위한 포트입니다. |
/Collect:[dataCollector friendlyName] | 테스트 실행에 대해 데이터 수집기를 사용하도록 설정합니다. 추가 정보. |
팁
옵션 및 값은 대/소문자를 구분하지 않습니다.
예제
vstest.console.exe 실행하기 위한 구문은 다음과 같습니다.
vstest.console.exe [TestFileNames] [Options]
기본적으로 이 명령은 테스트가 검색되지 않더라도 정상적으로 종료될 때 0을 반환합니다. 테스트가 검색되지 않은 경우 0이 아닌 값을 반환하려면 <TreatNoTestsAsError>true</TreatNoTestsAsError>
runsettings 옵션을 사용합니다.
다음 명령은 테스트 라이브러리 myTestProject.dll대한 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 파일에 지정된 설정을 사용합니다. 또한 "Priority=1"로 표시된 테스트만 실행하고 결과를 .trx 파일에 기록합니다.
vstest.console.exe myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx
다음 명령은 테스트 라이브러리 myTestProject.dll대한 /blame
옵션을 사용하여 vstest.console.exe 실행합니다.
vstest.console.exe myTestFile.dll /blame
테스트 호스트 크래시가 발생하면 sequence.xml 파일이 생성됩니다. 이 파일에는 충돌 시 실행 중이던 특정 테스트를 포함하여 실행 시퀀스에서 테스트의 정규화된 이름이 포함됩니다.
테스트 호스트 크래시가 없으면 sequence.xml 파일이 생성되지 않습니다.
생성된 sequence.xml 파일의 예:
<?xml version="1.0"?>
<TestSequence>
<Test Name="TestProject.UnitTest1.TestMethodB" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
<Test Name="TestProject.UnitTest1.TestMethodA" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
</TestSequence>
UWP 예제
UWP의 경우 appxrecipe 파일을 DLL 대신 참조해야 합니다.
vstest.console.exe /Logger:trx /Platform:x64 /framework:frameworkuap10 UnitTestsUWP\bin\x64\Release\UnitTestsUWP.build.appxrecipe