2017-11-21 11 views
0

저는 Angular 4.x를 사용하는 JHipster v4.10.1과 프론트 엔드를 사용하여 간단한 모 놀리 식 응용 프로그램을 생성했습니다. the documentation에 제안 자바 스크립트 단위 테스트를 실행하려면, 나는 명령은, 테스트를 실행 테스트를 모두 통과 여부, 적용 범위 요약 및 종료를보고 또는 몇 가지 테스트가 중요하지 않습니다 실패카르마를 사용하여 JHipster 응용 프로그램에서 JavaScript 테스트를 디버깅하는 방법은 무엇입니까?

./node_modules/karma/bin/karma start src/test/javascript/karma.conf.js --debug

을 달렸다.

21 11 2017 13:41:20.616:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/

을하지만 명령이 종료 때문에 Karma debug server에 액세스 할 수 없습니다 : 테스트 실행 출력은 디버그 서버가로드되는 한 지점에서 보여 않습니다. 카르마 콘솔이 브라우저에서 디버깅 할 수 있도록 테스트를 실행하는 방법?

답변

0

사실 마법 깃발이 실제로는 single-run 인 것으로 밝혀졌습니다. 이는 기본적으로 사실 인 것 같습니다. 그래서 JS 디버깅을 위해 실행할 수있는 기본 명령은 다음과 같습니다

차례로 이것으로 명시 적으로 만 종료가 예를 들어, 죽일 명령을

$ karma start src/test/javascript/karma.conf.js --single-run=false

를 실행

yarn test --single-run=false

하는 Ctrl + C 또는 Z를 사용하여 카르마 디버그 콘솔을 http://localhost:9876/debug.html에 액세스 할 수 있습니다 (기본 포트가 아직 사용 중이 아니라고 가정하면 테스트 출력에서 ​​선택한 포트를 알려야 함).

또한 디버거에서 중단 점과 .ts 코드를 쉽게 수행 할 수 있도록 최소화 (또한 istanbul 구성 - 이유는 확실하지 않음)를 비활성화해야합니다.

new LoaderOptionsPlugin({ 
     minimize: false, 
     options: { 
      tslint: { 
       emitErrors: !WATCH, 
       failOnHint: false 
      } 
     } 
    }) 
+0

또 다른 쉬운 대안 :

 { test: /src[/|\\]main[/|\\]webapp[/|\\].+\.ts$/, enforce: 'post', exclude: /(test|node_modules)/, loader: 'sourcemap-istanbul-instrumenter-loader?force-sourcemap=true' } 

이 플러그인의 배열 아래 LoaderOptionsPluginminimize: false을 추가 module.rules 배열에서 이스탄불 설정 다음

제거 :이 webpack/webpack.test.js 파일에서 다음과 같이 변경하여 이루어집니다 생각 단순히'yarn test : watch'를 실행하는 것입니다. 또한 테스트 스펙의 변경 사항을보고 다시 실행합니다. –