javascript - 테스트 - test karma



Gulp Karma 테스트에서 디버깅 옵션 설정 (1)

이 게시물 (및 일반 인터넷)에 따르면 이러한 종류의 코드 범위 명령없이 카르마 테스트를 실행하려면 ...

__cov_9C0014nbzu2SxN3FICah6Q.f['35']++;
__cov_9C0014nbzu2SxN3FICah6Q.s['138']++;

... 터미널에 --debug 옵션을 설정하기 만하면됩니다.

$ karma start karma.conf.js --browsers=Chrome --single-run=false --debug

그러나 Gulp 작업을 통해 Karma 테스트를 실행할 때 설명서가 누락 된 것처럼 보입니다. 아래의 간단한 karma.start 설정 객체를 사용하고 있습니다. debug 속성을 true 또는 strign '--debug' 설정해 보았습니다.하지만 어느 것도 효과가있는 것 같습니다 (테스트는 실행되지만 러너는 충돌하지 않지만).

karma.start({
    configFile: __dirname + '/karma.conf.js',
    exclude: excludeFiles,
    singleRun: !!singleRun,
    debug: '--debug'
}, karmaCompleted);

Gulp 작업에서 Karma 테스트를 실행할 때 디버그 옵션을 설정하는 방법에 대한 아이디어가 있습니까?


karma.start 전달하는 옵션 객체에서 debug: true 를 설정 debug: true 것은 명령 행에서 --debug 를 사용하는 것과 마찬가지로 작동합니다. 즉, Gulpfile에서 수행 한 작업은 Karma에 debug 옵션을 제공하는 것입니다. 하나,

터미널에 --debug 옵션을 설정하기 만하면됩니다.

아니요, 링크 된 페이지 는 선행 프로세서 목록을 조정하도록 구성을 사용자 정의해야 하므로 --debug 가 사용될 때 목록이 비어 있음을 나타냅니다. 당신이 가지고있는 문제는 그 커스터마이제이션을 올바르게 수행하지 못한 것과 일치합니다.

다음은 사용자 정의가 수행되는 방법입니다. Karma가 명령 행에서 이미 구문 분석 한 구성에서 config.debug 의 값을 조회합니다.

module.exports = function configure(config) {
  config.set({
    // ...
    preprocessors: {
      "index.js": config.debug ? [] : ["coverage"],
    },
    // ...
  });
};

debug 옵션이 구성을 통해 직접 전달되기 때문에 Gulp에서 Karma를 호출 할 때 아이디어를 가져온 페이지에 제안 된 --debug 와 같은 process.argv 를 검색하면 작동하지 않습니다. config.debug 검사하는 것은 명령 행에서 그리고 카르마가 프로그래밍 방식의 API를 통해 호출 될 때 둘 다 작동합니다.





gulp-karma