[javascript] Karma : 명령 줄에서 단일 테스트 파일 실행

그래서 저는이 모든 것을 찾고 있었는데 여기서 “유사한”답변을 찾았지만 정확히 제가 원하는 것은 아닙니다.

지금 내가 카르마와 하나의 파일을 테스트하려는 경우, 내가해야 할 fit(), fdescribe()문제의 파일에 …

그러나 내가 원하는 것은 구성 파일을 사용하여 karma를 호출하고 특정 파일로 지정할 수 있기 때문에 파일을 전혀 수정할 필요가 없습니다.

karma run --conf karma.conf.js --file /path/to/specific/test_file.js

이것이 가능합니까? 아니면 어떤 도우미와 함께? (grunt 또는 gulp 사용?)



답변

먼저 카르마 서버를 시작해야합니다.

karma start

그런 다음 grep을 사용하여 특정 테스트 또는 설명 블록을 필터링 할 수 있습니다.

karma run -- --grep=testDescriptionFilter


답변

비록 --files더 이상 지원되지 않습니다, 당신은 파일의 목록을 제공하기 위해 ENV 변수를 사용할 수 있습니다 :

// karma.conf.js
function getSpecs(specList) {
  if (specList) {
    return specList.split(',')
  } else {
    return ['**/*_spec.js'] // whatever your default glob is
  }
}

module.exports = function(config) {
  config.set({
    //...
    files: ['app.js'].concat(getSpecs(process.env.KARMA_SPECS))
  });
});

그런 다음 CLI에서 :

$ env KARMA_SPECS="spec1.js,spec2.js" karma start karma.conf.js --single-run


답변

이 옵션은 최신 버전의 카르마에서 더 이상 지원되지 않습니다.

참조 https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054를

파일 배열은 다음과 같이 CLI를 사용하여 재정의 할 수 있습니다.

karma start --files=Array("test/Spec/services/myServiceSpec.js")

또는 이스케이프 :

karma start --files=Array\(\"test/Spec/services/myServiceSpec.js\"\)

참고 문헌


답변