2017-09-26 16 views
0

Google Closure 클라이언트 - 서버 프로젝트에서 단위 테스트를위한 코드 커버리지를 얻으려고합니다. 우리는 서버 측 코드 커버리지를 가지고 있으며 클라이언트 측 커버리지가 필요합니다.Google Closure의 클라이언트 - 서버 앱용 JavaScript 코드 적용 도구는 무엇입니까?

JSCover은 자체 서버를 실행합니다. 당사의 클린트 사이드 유닛 테스트는 특정 서비스에 액세스하기 위해 당사 서버에서 실행해야합니다. 나는 그들이 함께 일할 수있는 방법을 보지 못하지만 그렇게하는 방법에 대한 제안은 이상적 일 것입니다.

istanbul은 여러 가지 기본 프레임 워크를 지원하지만 Google 클로저는 그 중 하나가 아닌 것으로 보입니다. 이스탄불을 Google 클로저 단위 테스트와 함께 사용하는 쉬운 방법이 있습니까?

Blanket은 더 이상 지원되지 않는 것 같습니다. 누구든지 Google Closure에서 계속 작동 할 수 있다는 최근 경험이 있습니까?

클라이언트 - 서버 구성에서 Google 폐쇄와 함께 잘 작동하는 다른 적용 범위 도구가 있습니까?

답변

0

이스탄불은 Google 클로저와 goog.testing.testSuite에서 잘 작동하지만 설치 방법은 분명하지 않습니다. 일반적으로 using Istanbul with IoT.js의 지침을 따르십시오.

  1. Node.js를 설치

    은보다 구체적으로, 여기에 우리는 코드 커버리지 정보를 생성하기 위해 이스탄불로 우리 자신의 구글 폐쇄 테스트를 계측하는 방법의 개요입니다.

  2. Node.js 패키지 관리자를 사용하여 npm install --save-dev nyc 명령을 사용하여 이스탄불 명령 행 도구를 설치하십시오.

  3. 여기서는 사용자 정의 서버 코드를 사용하므로 Node.js에서 테스트 슈트를 실행하는 것은 옵션이 아닙니다. 파일 이름과 파일의 내용을 허용하는 서버 측 호출을 추가하고이 호출을 사용하여 코드 적용 통계를 수집했습니다. 자바 스크립트 테스트에서 자신의 서버 코드를 사용할 필요가 없다면 Node.js를 서버로 사용하는 것이 더 간단합니다. 이스탄불을 IoT.js (위의)와 함께 사용하는 방법에 대한 링크를 참조하십시오.

  4. 코드 적용 범위가 필요한 각 파일에서 이스탄불의 명령 줄 도구를 실행하여 파일 범위를 조사하십시오. 명령은 nyc instrument myfile.js coverage_output_directory과 비슷합니다. 이렇게하면 .js 파일이 변경되므로 파일을 복원하는 데 사용할 수있는 사본이 있어야합니다. 필자는 파이썬 스크립트를 사용하여 다양한 파일을 도구로 사용했습니다. 각 Google 폐쇄 테스트 파일에서

  5. 는 파일의 끝이 추가 :

    window.onbeforeunload = function(event) { 
        /** @const {!FileUploadService} */ 
        var fileUploadService = new FileUploadService("../.."); 
        fileUploadService.upload("coverage_output_directory.myfile.data", JSON.stringify(__coverage__)); 
    }; 
    

각 테스트 파일에 고유 한 출력 파일 이름을 사용하십시오.FileUploadService은 결과 파일을 서버에 저장하는 데 사용한 객체입니다. 이를 자신의 서비스로 바꾸거나 Node.js의 서비스를 사용해야합니다.

  1. 테스트를 실행하십시오.

  2. 백업본에서 변경된 모든 파일을 복원하십시오.

  3. 이스탄불과 보고서 생성기를 사용하여 코드 적용 보고서를 만듭니다. 예 : nyc report --reporter=lcov --temp-directory=coverage_output_directory. 이스탄불과 함께 설치되는 lcov 보고서 생성기를 사용하여 멋진 보고서를 만듭니다.

  4. coverage_output_directory/lcov-report/index.html을로드하여 브라우저를 사용하여 코드 범위를 검사하십시오.

0

는 JSCover "JSCover 자체 서버를 실행할 수 있습니다"라고하는 것이 더 정확할 것 자체 서버

실행됩니다. 또한 JavaScript 파일을 계측하여 서버에 배포하고 테스트를 실행하며 적용 범위를 수집 할 수 있습니다. 작동 예제는 here입니다.