2014-08-29 3 views
0

인턴 버전 1.7에서는 Windows (Git Bash) 및 VirtualBox VM 내의 CentOS에서 node node_modules/intern/bin/intern-client.js config=test/internNode을 실행할 수있었습니다. 하나 이상의 테스트가 실패한 경우, 커버리지 보고서는 생성되지 않습니다.인턴 2.0 : Windows에서 더 이상 보고서가 생성되지 않음 (회귀)

인턴 개정 2.0에서는 Windows에서보고가 생성되지 않으며 CentOS에서만 발생합니다. 테스트가 실패 할 경우에도 생성됩니다.

인턴 의존성이 플랫폼에 종속적이라고 여기지 않습니다. Linux 용으로 만들어진 경로로 인해 결함이있을 수 있습니까?

은 A +, 돔

구성 파일을

업데이트 :

  • 모듈 FileScanner 지정된 폴더에 지정된 정규 표현과 일치하는 모든 파일을 검색합니다. 실행할 테스트 파일의 정적 목록을 문서화하지 않아도됩니다.
  • 테스트 스위트는 코드를 실행하여 클라이언트 로직과 서버 로직을 확인합니다.

. Gruntfile 플러그인 구성

/*global define*/ 
define([ 
    'intern/node_modules/dojo/has', 
    'src/tests/FileScanner' 
], function (has, FileScanner) { 
    'use strict'; 

    has.add('tests-api', true); // To enable entry points for test purposes 
    has.add('dojo-debug-messages', false); // 

    var unitTestFiles = new FileScanner.getFiles(['src/client/ubi', 'src/server'], /(?:\w+\/)*\w+Test\.js$/), 
     functionTestFiles = []; 

    return { 
     useLoader: { 
      'host-node': 'dojo/dojo' 
     }, 

     loader: { 
      map: { 
       '*': { 
        'dojo/has': 'intern/node_modules/dojo/has', 
        'dojo/node': 'intern/node_modules/dojo/node', 
        'dojo/text': 'ubi/utils/tests/dojo/textMock', 
        'dojo/parser': 'ubi/utils/tests/dojo/parserMock', 
        'dijit/_TemplatedMixin': 'ubi/utils/tests/dijit/_TemplatedMixinMock', 
        'dijit/_WidgetBase': 'ubi/utils/tests/dijit/_WidgetBaseMock', 
        'dijit/_WidgetsInTemplateMixin': 'ubi/utils/tests/dijit/_WidgetsInTemplateMixinMock', 
        'dijit/_AttachMixin': 'ubi/utils/tests/dijit/_AttachMixinMock', 

        // To limit side-effects of the GFX library 
        'dojox/charting/Chart': 'ubi/utils/tests/noopMock', 
        'dojox/charting/widget/Chart': 'ubi/utils/tests/noopMock', 
        'dojox/charting/axis2d/Default': 'ubi/utils/tests/noopMock', 
        'dojox/charting/plot2d/Lines': 'ubi/utils/tests/noopMock', 
        'dojox/charting/plot2d/Markers': 'ubi/utils/tests/noopMock', 
        'dojox/charting/plot2d/Pie': 'ubi/utils/tests/noopMock', 
        'dojox/charting/action2d/Highlight': 'ubi/utils/tests/noopMock', 
        'dojox/charting/action2d/Magnify': 'ubi/utils/tests/noopMock', 
        'dojox/charting/action2d/MoveSlice': 'ubi/utils/tests/noopMock', 
        'dojox/charting/action2d/PlotAction': 'ubi/utils/tests/noopMock', 
        'ubi/charting/themes/omega': 'ubi/utils/tests/noopMock' 
       } 
      }, 
      packages: [{ 
       name: 'dojo', 
       location: 'src/libs/dojo' 
      }, { 
       name: 'dijit', 
       location: 'src/libs/dijit' 
      }, { 
       name: 'dojox', 
       location: 'src/libs/dojox' 
      }, { 
       name: 'ubi', 
       location: 'src/client/ubi' 
      }, { 
       name: 'server', 
       location: 'src/server' 
      }, { 
       name: 'tests', 
       location: 'src/tests' 
      }] 
     }, 

     suites: unitTestFiles, 

     functionalSuites: functionTestFiles, 

     excludeInstrumentation: /(?:node_modules|libs|tests)/ 
    }; 
}); 

업데이트 :

  • unitTest 변수가 꿀꿀 거리는 소리 명령
  • 내가 하나를 실행하는 데 사용할 매개 변수로 주어진 값을 페치 한 번에 시험 스위트

.

intern: { 
    'unit-tests': { 
     options: { 
      runType: 'client', 
      config: 'src/tests/internNode', 
      reporters: ['console', 'lcovhtml'], 
      reportDir: 'target/code-coverage', 
      suites: unitTest === null ? [] : [unitTest] 
     } 
    } 
} 
+0

인턴 구성에서 'excludeInstrumentation' 속성을 제거하면 보고서가 생성됩니다. 이 트릭을 발견했습니다. https://stackoverflow.com/questions/23290853/how-to-include-modules-for-code-coverage-when-using-intern-for-nodejs-unit-testi –

+0

누구나 귀하의 질문에 응답 할 수 있도록 귀하의 구성을 제공하십시오. –

+0

업그레이드 프로세스 중에 구성 파일을 변경하지 않았으므로 관련이 없다고 생각합니다. 그러나 그 정보로 질문을 업데이트 할 것입니다. –

답변

1

이 문제를 일으키는 인턴에는 결함이 있습니다. 이 문제를 해결하기위한 패치는 https://github.com/theintern/intern/pull/255이며 인턴 2.1 (그리고 또 다른 2.0 포인트 릴리스)으로 착륙합니다.

+0

콜린에게 감사드립니다. [Intern issue # 71] (https://github.com/theintern/intern/issues/71#issuecomment-44213335)에 대한 수정으로 인해 2.1로 변경되기를 바랍니다. –

+0

참고로, 로컬 패스'runner.js'를 업데이트하여 basePath를 표준화하고 테스트가'runner.js'가 아닌'client.js'에 의해 실행되기 때문에 문제가 해결되지 않습니다. 위의 내 Gruntfile 설정을 참조하십시오.) –

+1

그래, 같은 줄이'lib/realClient.js'에 있으므로 작동하지 않을 것입니다. –