2009-06-30 2 views
4

How to use MsTest in Continuous Integration without VS?과 마찬가지로 TeamBuild 서버에서 mstest.exe를 실행하고 싶습니다.TeamBuild 서버에서 MSTEST.exe/publish를 실행하는 경우, 전제 조건은 무엇입니까?

내 컨텍스트가 Trapping Error Status in MSBuild입니다. 즉, mstest.exe/publish를 사용하여 TFS 리포지토리에 결과를 업로드하려고합니다. 따라서 http://www.shunra.com/shunrablog/index.php/2009/04/23/running-mstest-without-visual-studio/의 전체 rigmarole은 http://social.msdn.microsoft.com/Forums/en-US/tfsgeneral/thread/e4575890-8f88-413c-a7f3-0d09d3b9cb01에 나와있는 MSTEST.exe와 같이 과도한 공격 일 가능성이 높습니다. Team Explorer를 설치하기 만하면됩니다.

VS2008 팀 탐색기 SP1과 mstest.exe /를 설치 했습니까? 여전히 게시 옵션에 대해 말하지 않습니다. 그것은 단지 팀 탐색기이 mstest.exe 요구하고 있다고

리콜 /? 게시 : 팀 탐색기가 설치되어있는 경우

다음과 같은 옵션도 사용할 수 있습니다

/출판 : [서버 이름] 팀 재단 서버에 결과를 게시합니다.

/publishbuild : [빌드 이름] 테스트 결과를 게시하는 데 사용할 빌드 식별자입니다.

/publishresultsfile : [파일 이름] 테스트 결과 파일의 이름을 으로 게시하십시오. 지정하지 않으면 현재 테스트 실행에 의해 생성 된 파일을 사용하십시오.

/teamproject : [팀 프로젝트 이름] 빌드가 속한 팀 프로젝트의 이름입니다. 테스트 결과를 게시 할 때 지정하십시오.

/platform : [플랫폼] 테스트 결과를 게시하기 위해 에 대한 빌드 플랫폼.

/flavor : [flavor] 테스트 결과를 게시하기 위해 에 대한 빌드의 맛.

내가 실종,하지만 이상적으로 아는 사람이 나서서 대답 것이 무엇인지 파악하기 위해 procmon.exe의 길을 갈거야 -

이 mstest.exe해야/단지 팀 탐색기 등을 요구 게시 또는 VSTT 및 팀 탐색기가 필요합니까?

+0

가지고 자연스럽게 성공적으로 해결 역할 :(여전히 VS08에 대한 적절한 솔루션에 관심만을 테스트 툴과 설치 팀 스위트 (심지어에서부터 2010,하지만 적어도 테스트 주자와 같은 간단한 것들을 나누기 시작 ...) –

답변

6

해당/라이센스 검사 비주얼의 "팀"버전 수 있도록 않습니다 MSTest.exe의 옵션을 게시 Studio의 코드가 게시되기 전에 Studio가 설치됩니다 (예 : 개발자 또는 테스트 에디션).

이 제한은 Visual Studio의 표준 버전에서 기본 단위 테스트 기능을 허용하기 위해 도입 된 것으로 보입니다. 그러나 테스트에서 "팀"관련 기능을 사용하려면 더 비싼 Team Edition의 Visual Studio 중 하나가 있어야합니다. 테스트 결과를 TFS에 게시하는 등의 작업을 수행합니다.

Team Epxlorer가 설치된 Visual Studio Team Edition이없는 경우 총 3 가지 기능이 누락됩니다. 원격 에이전트에 TFS

  • 코드 커버리지
  • 연결에

    • 출판.

    개발 버전이 설치된 경우 원격 에이전트 에이전트 기능이 아닌 게시 ​​및 코덱을 사용할 수 있습니다 (예 :로드 확인).

    Test Edition 및 Visual Studio Team Suite에는 모든 것이 있습니다.

    MSTest.exe를 사용하여 빌드 서버 (이 예제에서는 JUnit 테스트 데이터)에서 단위 테스트 데이터를 게시하는 사용자 지정 MSBuild 태스크의 예제를 보려면, 필자가 작성한 Teamprise Build Extensions을 살펴보십시오 . 이 소스 코드는 오픈 소스 라이센스 MS-PL에 따라 사용 가능합니다.

  • +0

    고마워 마틴, 그게 내가 찾고있는 것 뿐이야! (BTW와 너희들은 환상적인 직업을하고있다. 라디오 TFS에서 - 나는이 무언가에 soliliquoy가 어떤 단계에서 내 머리 위로 넘어 가기를 바란다!) 코드는 깨끗하고 깔끔하게 보입니다. 만약 내가 그것을 포장기 끈으로 이미 다뤄야했다면 그것을 사용할 것입니다. trn 스타일 시트에 대한 NUnit은 NUnit과 xUnit.net을 실행 및 게시하는 참조 방법이 될 수 있습니다. http://stackoverflow.com/questions/1063779/msbuild-task-for-combining-nunit-or-mstest -xml-results –

    +0

    NUnit to trx에 관해서 - 당신은 이것을 보았습니까? http://nunit4teambuild.codeplex.com/ 희망이 있습니다. y 필요한 XSLT가 있습니다. –

    +0

    mstest.exe의 라이센스 검사가 VS 2010 Pro (MSDN 포함)에서 변경됩니까? 현재 VS 2008 Pro & TFS 2008 환경 (팀 시스템 없음)에 있으며 Team Build를 사용하여 테스트를 실행하려고합니다. 2010 년에 지원된다면 너무 많은 시간을 낭비하고 싶지 않습니다. 정보 Martin에게 감사드립니다 - Teamprise 고객이며 사랑합니다! – Aaron

    2

    /publish의 mstest 기능에 VS Team Developer 또는 VS Team Test Edition을 구입해야한다는 내용의 on the MSDN forums을 읽었습니다. 표준/전문가 또는 팀 탐색기와 같은 더 적은 버전에는이 기능이 없습니다.

    "표준"VS2008을 사용하면 단위 테스트를 작성하고 실행할 수 있지만, 빌드 머신에서 임의로 실행할 수는 없습니다 .--(상당히 무리한 것처럼 보입니다.

    는 질문에 대답하려면 :

    만 필요로 팀 탐색기를 게시/mstest.exe 경우, 또는이 VSTT 및 팀 탐색기를 필요로 하는가?그것은 나타납니다

    그것은 VSTT 필요로 (I 의미 가정 비주얼 스튜디오 팀 테스터 판)

    +0

    고마워요. 당신이 인용 한 글은 분명히 겹쳐져있는 것처럼 보입니다. 그러나 IMO, mstest.exe의/publish 팔은 당신이 언급 한 일반적인 테스트 실행 문제와 완전히 다른 부분입니다 - 이것은 TFS와 통신하는 방법에 대한 인식을 포함하는 반면, 실행중인 테스트 조각은 물론 단지 기본적인 재 구현을 수행하는 것과 관련이 있습니다 테스트 주자들이 10 년 이상 (BTW에 대해서 명시 적으로 언급하지 않았다하더라도 테스트를 실행하는 것은 내가 물어보고 대답 한 다른 질문에서 다루었 듯이 몇 개의 빈을 복사하는 것으로 충분하다). 침착하게 도와 줘서 고마워. –

    +0

    테스트를 실행해도 문제가 없지만 VSTS 개발자 또는 테스터 에디션을 설치하지 않은 한 해당 스레드가 나타낼 때까지 (그리고 내 테스트가 확인하는 한)/mstest의/publish 팔은 전혀 존재하지 않습니다. –

    +0

    안녕하세요, 저는 현재 (/? 도움말 텍스트를 포함하고 끊어진 링크를 수정하여) 게시물을 확장했습니다. 내 질문의 핵심은 "팀 탐험가가 도움을 필요로한다고 말하면서 어느 정도 거짓말인가, 정말 최악의 경우인가? 정말로 TT 나 TD가 필요한가?"적어도 2010 년에는 에이전트 설치 ... 게시 개념은 팀 X ​​버전과 관련이 있지만, 어느 정도까지, 그리고 왜? _ –

    2

    글쎄, mstest.exe /?을 실행할 때 나타나는 메시지는 실제로 매우 오도합니다. 팀 탐색기에서 테스트 결과를 게시해야하지만 팀 탐색기를 설치해도 아무 것도 변경되지 않는다고 알려줍니다. Martin이 말했듯이, MsTest는 적절한 버전의 Visual Studio가 설치되어 있는지 확인하기 위해 라이센스 검사를 수행하므로 '/ 게시'및 다른 스위치를 사용할 수 없습니다.

    '적절한'판 MsTest는 Premium 또는 Ultimate을 의미하며 다른 버전은 확실하지 않습니다.

    Microsoft는 서버에 Visual Studio를 설치하여 완전한 기능을 갖춘 CI를 제공해야한다고 말합니다.이 솔루션은 유일하게 공식적으로 지원되는 솔루션이지만,이 개념이 마음에 들지 않는다면 MsTest가 Visual Studio가 서버에 설치되어 있다고 생각하게하십시오.

    개발 컴퓨터에서 CI 서버로 레지스트리 키를 내보내는 것으로 충분합니다. - MsTest는 귀하의 테스트 결과를 TFS에 게시합니다. 레지스트리 키는 시스템에 따라 HKLM\SOFTWARE\Microsoft\VisualStudio\12.0\Licenses 또는 HKLM\Software\Wow6432Node\Microsoft\VisualStudio\12.0\Licenses 에 있습니다.

    현재이 솔루션의 자세한 내용을 확인할 수 있습니다 http://blog.foxxtrot.net/2010/02/hacking-mstest-out-of-visual-studio.html

    +0

    지식을 공유해 주셔서 감사합니다. 내 평생 남은 동안 내게 필요하지 않다는 것을기도하고 있습니다 :) –

    관련 문제