2

Visual Studio 용 각도기 테스트 어댑터를 만들고 싶습니다. ITestExecutor 및 ITestDiscoverer를 구현하여 만들 수 있음을 발견했습니다.
Marcel De Vries 설명서 (https://xpirit.com/wp-content/uploads/2016/03/Xpirit-magazine-2-Protractor-UI-testing.pdf)를 따르지만 Visual Studio에서 내 확장 프로그램을 추가하는 방법을 찾지 못했습니다.Visual Studio에서 테스트 어댑터를 만들고 설치하는 방법

  • 내 어셈블리를 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ Extensions 폴더에 직접 추가하려고했습니다.
  • 나는 Vsix를 만들고 설치하려고했습니다. (UnitTestExtension with Asset)
  • Marcel의 프로젝트 (https://github.com/XpiritBV/ProtractorAdapter)를 다운로드하여 설치하려고했습니다.

"vstest.console.exe/listdiscoverers/UseVsixExtensions : true"명령이 내 발견자를 나열하지 않습니다. JS 테스트는 VS에 의해 발견되지 않습니다.

내가 뭘 잘못하고있어?

+0

VSIX 프로젝트를 만드는 방법에 대한 최대 읽기. –

+0

좋아, 내가 vstest가 작동하지 않는 이유를 발견했습니다. 내 추악한 실수. 잘못된 Visual Studio 폴더에 있습니다. Microsoft Test 구현에 대해 계속 이해할 것입니다. – Cedric

답변

6

VS 용 테스트 어댑터를 만들 때 설명서가 매우 좋지 않습니다. 요약

:
1 단계 :

    JS 자동화 된 테스트와 UTE를 구현하는 방법을 이해하는 데 도움이 될 수 많은 URL이 있습니다
  • 우리는 TestExecutor는 각도기 프롬프트 명령으로 테스트를 시작하고 결과를 반환합니다.
  • ITestDiscoverer를 구현하여 인수 내의 파일을 구문 분석하여 내부의 모든 테스트를 찾아야합니다.

VSix없이이 기본 버전을 테스트 할 수 있습니다. Visual Studio 테스트 확장 폴더 (C : \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ Extensions for VS)로 이동하십시오. 2013) DLL 및 종속성을 추가하십시오. 창에서 해당 명령 프롬프트 같은 명령으로 테스트를 실행하십시오 :

cd C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow 
vstest.console.exe "c:\test\test.js" 

2 단계 :
이 기본적으로 비주얼 스튜디오는 .DLL 분석하고 .exe 파일. 다른 파일 형식 (.lua, .js, ...)을 구문 분석하려면 소스 파일을 명시 적으로 찾아보고 모든 테스트를 찾는 파서를 만들어야합니다.
당신은 두 개의 인터페이스 구현 만들어야합니다

  • 을 ITestContainerDiscoverer
  • ITestContainer을

이 프로젝트 (https://github.com/XpiritBV/ProtractorAdapter이) 그것을 구현하는 방법과 변경에 가입하도록 코드를 적용하는 방법을 이해하는 데 도움이 될 것입니다 (파일 추가, 파일 편집, 프로젝트로드 등).

중요 : 테스트하려면 VSix 프로젝트를 만들어야합니다! 그렇지 않으면 Visual Studio가 TestContaineDiscoverer를로드하지 않습니다. 프로젝트 _ | | :

중요 2 :

  • 유형 : Microsoft.VisualStudio.MefComponent/경로 당신이 VSIX 파일을 만들 때, 당신은이 개 자산을 설명 할 필요가
  • 유형 : UnitTestExtension/Path | YourProject |

희망하는 사람에게 도움이 되길 바랍니다.

+0

테스트 어댑터에있을 수있는 문제를 어떻게 디버깅합니까? – resp78

+1

lauchn VS을 디버그 모드로 사용할 수 있습니다 (http://stackoverflow.com/questions/9281662/how-to-debug-visual-studio-extensions). 하지만 난 그걸로 어려움을 겪었습니다, 그래서 나는 옛날 방식을 사용 : 추한 파일에 로그를 작성하십시오. – Cedric

2

당신이 vstest.console.exe 테스트 어댑터를 실행해야하지만, 비주얼 스튜디오 통합이 필요하지 않은 경우 다음을 수행해야합니다

  • 는 클래스 라이브러리
  • 하는 프로젝트를 만듭니다
  • 매우 중요 :.TestAdapter 또는 vstest.console.exe와 어셈블리 이름 해야 끝 테스트 어댑터를 인식하지 못합니다. 프로젝트 속성에서이 설정을 변경할 수 있습니다.
  • 가져 오기 Microsoft.VisualStudio.TestPlatform.ObjectModel하는 날은 C에 위치한을 위해 : \ 프로그램 파일 마이크로 소프트 비주얼 스튜디오 마이크로 소프트 \ 14.0 \ Common7 \ IDE \ CommonExtensions \ TestWindow \ Microsoft.VisualStudio.TestPlatform \ (86). ObjectModel.dll
  • 만 테스트 어댑터가 .DLL 또는 .EXE 기본 테스트 어댑터가 먼저 실행 파일의 경우
  • ITestExecutorITestDiscoverer를 구현해야합니다. 이 기능을 사용 중지하는 방법을 찾지 못했습니다.

위의 대답과 코드는 테스트 어댑터를 만드는 방법을 생각할 때 매우 유용했습니다. VSIX를 만드는 경우 자산 유형 UnitTestExtension은 목록에서 사용할 수 없지만 작동하는 것 같으며 .vsixmanifest 파일에 수동으로 추가 할 수 있습니다.

추가 유용한 링크 :

관련 문제