2012-07-30 3 views
1

테스트를 자동화 할 때 명령 줄 프로그램 인 MSTest.exe를 사용합니다. 테스트 결과 파일을 저장할 위치를 지정하는 매개 변수를 전달합니다.테스트 결과를 저장할 위치를 지정하는 방법은 무엇입니까?

내 문제는 Visual Studio GUI에서 테스트를 실행할 수 있고 여전히 테스트 결과 파일의 위치를 ​​지정할 수 있어야한다는 것입니다. 이것에 대한

내 이유는 내가 (이 XML 형식이기 때문에) 시험 결과 파일을 읽는 코드의 비트를 쓰고 한 후 지정된 이메일 주소로 결과를 이메일로한다는 것입니다.

MSTest.exe 또는 Visual Studio GUI를 통해 테스트를 실행하는지 여부에 관계없이 테스트 결과 파일을 동일한 위치에서 가져오고 싶습니다.

'테스트 결과'창에서 '테스트 실행 세부 정보 내보내기'옵션을 선택하여 GUI에서이 작업을 수행 할 수 있음을 알고 있습니다. 프로그래밍 방식으로이 작업을 수행하는 방법을 알고 싶으므로 테스트 실행이 완료되면 자동으로 작업을 수행 할 수 있습니다.

... 또는 테스트 결과 정보에 프로그래밍 방식으로 액세스 할 수있는 클래스가 없습니까? 예를 들어 도움이 될만한 TestResult 클래스가 있다고 생각합니다.하지만이 메소드를 사용하는 방법은 잘 모르겠습니다. 또한 TestContext 클래스에 'DeploymentDirectory'와 같은 속성이 있지만 읽기 전용 인 것으로 나타났습니다.

'<'배포 userDeploymentRoot = "C :

또한, 나는 다른 온라인 VS2008와 함께, 당신은 TestRunConfiguration 요소에 다음 줄을 추가 할 .testrunconfig 파일을 편집 할 수 있습니다 읽었 \ TestResults을 "useDefaultDeploymentRoot =" "허위 />

그러나 .testrunconfig 파일이 내 솔루션에 존재하지 않으며, TestRunConfiguration 요소 내 .vsmdi 파일에 표시되지 않습니다.

감사합니다. 감사합니다.

답변

1

스크립트 정리을 사용하면 Test Results 파일을 미리 정의 된 디렉토리에 복사 할 수 있습니다.

는 다음 코드를 사용하여 일괄 처리를 만듭니다

::Set the path where the result files will be copied 
set TargetDirectory = "C:\..." 
::copy the results file 
xcopy /s /y "%TestDir%.trx" %TargetDirectory% 

%TestDir% 변수가 autamatically 각 테스트 실행의 기본 테스트 결과 출력 디렉터리에있는 qtcleanup.bat에 비주얼 스튜디오에 의해 만들어집니다.

위의 변수를 사용할 수 있도록 배치 파일의 내용이 qtcleanup.bat에 추가됩니다. 또한 열어서 나머지 사용 가능한 변수를 볼 수도 있습니다.

배치 파일을 만든 후에는 Visual Studio로 가서 *.testsettings을 열고 Setup and Cleanup Scripts을 클릭하고 .bat 파일을 선택하십시오.

테스트가 끝날 때마다 실행됩니다.

+0

아 ... 좋은 외침! 한가지 - 테스트 결과를 가져오고 읽는 코드는 [AssemblyCleanUp] 메서드에 있습니다. 먼저 배치 스크립트 나 AssemblyCleanUp 메소드가 실행됩니까?이것이 문제를 해결할 수 있는지 알아봐야 할 수도 있습니다. –

+1

'Setup and Cleanup scripts'가 어셈블리 설치 및 정리 방법 전후에 실행되고 있다고 생각합니다. – Schaliasos

+0

그런 경우에는 테스트 결과를 읽고이를 정리 스크립트로 실행하는 exe 파일을 만들 수 있습니다. TestContext.TestDir 속성을 사용하여 .trx 파일의 위치를 ​​가져 와서 인수로 전달할 수 있습니다. exe 파일. 완벽한 솔루션은 아니지만 어쨌든 시도해 보겠습니다. –

관련 문제