문제

은 그것을 가능하게 통합 허드슨 MS 테스트?

나는 설정을 작은 CI 서버에서 개발 시스템으로 허드슨은 지금,그래서 그냥 오신 것을 환영합니다 일부 통계(ie. FxCop 와 컴파일러 경고).의 과정,그것은 또한 좋은 경우에만 실행한 단위 테스트 및 존재들이 출력됩니다.

지금까지 나는 다음과 같은 추가 배치 작업을 허드슨 만드는,그것은 테스트를 실행합니다.

"%PROGRAMFILES%\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" /runconfig:LocalTestRun.testrunconfig /testcontainer:Tests\bin\Debug\Tests.dll

그러나,내가 알기로는,허드슨은 지원하지 않 분석 MS 테스트 결과는,아직입니다.가 누구인지 여부를 알 TRX 파일 생성 MSTest.exe 변형될 수 있습 JUnitNUnit 결과는 형식으로(기 때문에 그에 의해 지원되는 허드슨),또 있는지 다른 방법으로 통합하 MS 테스트 단위 테스트 가진 허드슨?

도움이 되었습니까?

해결책

허드슨은 새로운 플러그인에 대한 MSTest.다만의 위치를 지정합니다.trx 파일을 작업이 수행됩니다.데 경우에는 플러그인을 사용되는 Allen 의 솔루션입니다.

다른 팁

나는 이것을 가이드로 작성하고 플러그인을 개발하는 것을 의미했지만 나는 그것에 대해 얻지 못했습니다. 나는이 질문이 늙었다는 것을 알고 있지만 다른 사람이 똑같은 것을 원한다고 확신합니다.

Hudson의 프로젝트 구성에서 :

Windows 배치 명령을 실행합니다


SET MSTest="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe"
SET XSLParser="C:\MsBuildNunit\msxsl.exe"

SET TestDLL=path-to-your-test-projects.dll
SET TestOutFILE=TestResults\some-unique-filename.trx
SET TransformedOutputFile=%TestOutFILE:.trx=%.xml
SET XSLFile=c:\MsBuildNunit\MSBuild-to-NUnit.xslt

MKDIR TestResults

%MSTest% "/testcontainer:%TestDLL%" /nologo /resultsfile:%TestOutFILE% 

%XSLParser% %TestOutFILE% %XSLFile% -o %TransformedOutputFile%

SET ERRORLEVEL=0

그런 다음 "Nunit Test Result Report를 게시"하고 "테스트 보고서 XMLS"를 확인한 상자를 확인하십시오.

TestResults/*.xml

C : MSBuildNunit에는 XSLT와 Microsoft에서 나온 MSXSL.exe가 있습니다.

msbuild-to-nunit.xslt를 다운로드 할 수 있습니다 여기 Microsoft에서 msxsl.exe를 받으십시오 여기 또는 XSLT 및 EXE를 포함하는 내 MSBuildNunit 폴더의 지식 사본을 얻을 수 있습니다. 여기

실행되면 테스트를 실행하고 microsofts trx (XML) 형식의 형식을 출력하는 mstest.exe를 호출합니다. 그런 다음 XSLT 및 TRX로 MSXSL.Exe를 호출하여 Nunits XML 형식으로 번역합니다. 빌드가 끝나면 Hudson은 다른 NUNIT 테스트 결과로 가져 오면 좋습니다.

추가로 편집 : 언급하는 것을 잊었습니다. 우리는 여러 테스트 프로젝트와 여러 DLL을 가지고 있으며, 그래프 트렌드, 이름으로 테스트를보고, 테스트 상태를보고, 오류가 발생하면 스택 추적과 함께 오류 메시지가 나타납니다. 기본적으로 Nunit과 함께 얻을 수있는 거의 모든 것.

편집 (다시) : 방금 변환에 테스트 기간을 추가하여 Hudson에 지금 나타날 것입니다! 우리의 테스트에 큰 효과가있는 것 같습니다.

편집 : 새로운 MSTEST 플러그인을 시도했는데 현재 여러 TRX 파일을 구문 분석하는 데 1 개만 지원하지 않으므로 현재 우리와 같고 MSTEST를 통해 실행 해야하는 여러 테스트 어셈블리가있는 경우 유일한 솔루션입니다.

"Hangy의"명령 줄과 MSTEST 플러그인의 변형을 사용하여 테스트 케이스를 성공적으로 실행하고 분석/게시 할 수있었습니다. 내가 만든 가장 큰 변화는 mstest.exe의 출력 파일을 지정하고 MSTEST 플러그인을 앞에서 해당 파일을 소비하는 것이 었습니다 (와일드 카드가 허용되지 않아야합니다 ... 실제 파일 이름이어야 함). 예를 들어 다음은 내 사용자 정의 빌드 단계입니다.

"%PROGRAMFILES%\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" /runconfig:LocalTestRun.testrunconfig /testcontainer:MyProject1.Test/bin/Debug/MyProject1.Test.dll  /testcontainer: MyProject2.Test/bin/Debug/MyProject2.Test.dll /resultsfile:TestResults\HudsonJobTestResults.trx

출구 0

"결과 파일"은 작업 공간과 관련이 있습니다. 따라서 구문 분석 할 MSTEST 플러그인의 결과 파일은 다음과 같습니다.

TestResults\HudsonJobTestResults.trx

그리고 그게 다야!

허드슨에는 a 플러그인 플러그인 일반 데이터를 플롯하는 데 사용할 수 있습니다. 그래프 당 여러 데이터 포인트가있는 경우 구성 및 사용하는 것이 가장 쉬운 플러그인은 아니지만 MS 테스트 출력을 구문 분석하고 플러그인의 입력 파일을 생성 할 수 있다면 최소한 실패, 성공 및 성공 추세를 그릴 수 있습니다. 총 테스트.

Hudson을 사용하여 역사적 목적으로 MS 테스트 결과 분석을 수행 할 수 없었지만 MSBuild와 Exec 작업을 사용하면 Hudson 빌드가 올바르게 표시 될 것임을 알 수있었습니다. " 실패한 "테스트가 실패하면.

<Exec Command=""C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\mstest.exe" /testcontainer:"MyAssembly.dll"" />
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top