2017-03-15 4 views

답변

0

{ 
    "name": "jasmine", 
    "type": "node", 
    "request": "launch", 
    "program": "${workspaceRoot}/node_modules/jasmine/bin/jasmine.js", 
    "stopOnEntry": false, 
    "args": [ 
     "JASMINE_CONFIG_PATH=${workspaceRoot}/spec/support/jasmine.json" 
    ], 
    "cwd": "${workspaceRoot}", 
    "runtimeArgs": [ 
     "--nolazy" 
    ], 
    "env": { 
     "NODE_ENV": "development" 
    } 
} 
+0

나는 코드를 작성하기 위해 재스민을 사용하지 않는다. 나는 차마와 사인과 함께 카르마를 사용하고 있습니다. 여기보세요 : [karma-sinon-chai] (https://github.com/kmees/karma-sinon-chai) – geo

8

당신은 크롬 인스턴스에 디버거를 연결하여 카르마를 디버깅 할 수 있습니다보십시오. 이 같은에 launch.json 설정을 설정할 것 :

{ 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "type": "chrome", 
      "request": "attach", 
      "name": "Attach Karma Chrome", 
      "address": "localhost", 
      "port": 9333, 
      "pathMapping": { 
       "/": "${workspaceRoot}/", 
       "/base/": "${workspaceRoot}/" 
      } 
     } 
    ] 
} 

하지만, 9333 포트를 듣고 개발 도구와 크롬 인스턴스를 실행과 같이 있도록 당신은 또한 당신의 karma.conf.js config을 조정해야합니다

browsers: [ 
    'ChromeDebugging' 
], 

customLaunchers: { 
    ChromeDebugging: { 
    base: 'Chrome', 
    flags: [ '--remote-debugging-port=9333' ] 
    } 
}, 

이러한 설정을 사용하면 캡처 한 브라우저로 카르마 서버를 실행 한 다음 Visual Studio에서 디버깅을 시작할 수 있습니다.

자세한 내용을 보려면 debugging Karma with Visual Studio Code에 대한 자습서를 작성하십시오.

+0

그게 올바른 방향을 주었지만 여전히 생성 된 코드가 없으므로 중단 점을 무시했습니다. 발견 (소스 맵 문제?) ". 그러나'--auto-watch' 플래그로'karma'를 시작하면 다음과 같은 결과를 얻을 수있었습니다. – Beat

+0

@Beat 소스 맵의 문제점은 카르마와 관계가 없으며 일반적으로 크롬 디버깅과 관련이 있습니다. 다음은 소스 맵 문제를 진단하기위한 몇 가지 팁입니다. https://github.com/Microsoft/vscode-chrome-debug#sourcemaps –

0

여기 (launch.json에) 간단한 구성이다 :

{ 
    "type": "chrome", 
    "request": "launch", 
    "name": "Test", 
    "sourceMaps": true, 
    "webRoot": "${workspaceRoot}/Test", 
    "url": "http://localhost:9876/debug.html", 
    "runtimeArgs": [ 
     "--headless" 
    ] 
} 

중요 : 카르마가에서 시험 서비스를 제공하는 폴더에

  • 변경 webRoot.
  • 이것은 카르마가 9876 번 포트에서 실행되고 있다고 가정합니다. 그렇지 않은 경우 적절하게 url을 변경하십시오.

이 구성은 여러 가지 이유로 간단하다 :

  • 당신은 카르마의 UI에서 디버그 버튼을 누르거나 디버거를 연결 한 후 페이지를 새로 기억 할 필요가 없습니다.
  • 카르마 설정에 사용자 지정 실행 프로그램을 추가 할 필요가 없습니다. 너는 singleRun: false을 가지고 있는지 확인하기 만하면된다. browsers: []을 설정할 수도 있습니다. VS 코드가 자체 브라우저를 시작하기 때문입니다 (헤드리스 모드에서 볼 수 없으므로).
  • VS 코드에서 디버깅을 할 수 있으므로 브라우저를 더 이상 볼 필요가 없으므로 헤드리스 모드로 실행됩니다.
  • 여전히 디버거를 시작하기 전에 카르마를 시작해야합니다. 카르마를 자동으로 시작하는 preLaunchTask을 추가하여이 구성을 개선 할 수 있습니다. background task으로 구성해야합니다.
관련 문제