2014-03-06 5 views
4

저는 빌드 프로세스에 gulp을 사용하고 테스트 러너에는 gulp-mocha 플러그인을 사용하는 노드 응용 프로그램에서 작업하고 있습니다.서버 측 테스트로 클라이언트 측 테스트를 수행하는 Gulp, Mocha, Browserify로 올바른 구성

gulp.task('test', function() { 
    return gulp.src(TESTJS) 
     .pipe(mocha({reporter: 'spec'})) 
     .on("error", function (err) { 
      // handle the mocha errors so that they don't cloud the test results, 
      // or end the watch 
      console.log(err.toString()); 
      this.emit('end'); 
     }); 
}); 

현재 TESTJS은 내 서버 측 테스트입니다. 나는 클라이언트 테스트를 실행하기 위해 동일한 프로세스를 사용하고 싶다. 내가 gulp-blanket-mocha을 들여다 보았지만 같은 문제가 계속 발생했습니다. 내 백본 코드를 테스트 할 때 필요한 다른 클라이언트 구성 요소 (즉, jquery)가 테스트 러너에 의해 발견되지 않아 실패합니다. 내가 phantomJS 같은 헤드리스 웹킷을 사용해야 할 필요가 있습니다. 그러나 나는이 꿀꺽 꿀꺽 마시는 과정에 이것을 통합하는 방법을 알아 내려고 진짜 어려움을 겪고 있습니다. browserify.

누구나 이런 식으로 설치를 시도했거나 내 꿀꺽 꿀꺽 마시고 "테스트"작업을 수행하는 측면에서 내 클라이언트 사이드 모카 테스트와 내 서버 측을 실행하는 것과 관련하여 아이디어가 없습니다.

+1

클라이언트 측 테스트를 위해 karma (이전 testacular)를 사용 해본 적이 있습니까? 또한 동봉 된 플러그인'gulp-karma'도 있습니다. – scarlz

+0

@scarlz - 이런 상황에서 카르마가 어떤 방법으로 도움이되는지 자세히 설명해주십시오. 특히 jQuery 나 lodash와 같은 타사 전역을 많이 사용하는 구성 요소를 테스트하는 데 어떻게 도움이 될까요? – vsync

답변

1

잠재적 인 설정은 다음과 같습니다

  • Test runner -이 꿀꺽와 카르마 사이의 접착제이며, gulp.src() 스트림 카르마 options.files를 설정하는 옵션을 제공합니다. 솔직히 카르마 테스트 전에 아무런 조치가 없다면, 꿀꺽 꿀꺽 마시는 일없이 꿀꺽 꿀꺽 마시는 것없이 직접 카르마를 사용하십시오.
  • 사용 관련 카르마 플러그인, ALT-JS 컴파일
  • 더 많은 플러그인 테스트 및 범위의보고 & 구성 카르마 옵션 취재/팬텀/크롬에서 파이어 폭스
  • 사용 관련 카르마 플러그인을 실행합니다.

browserify를 사용하면 위의 전체 설정이 변경됩니다.

  • 요구 사항을 해결해야하므로 모든 "진입 점"파일에서 실행해야합니다. 일반적으로 테스트에는 소스가 필요하며 엔트리 포인트 여야합니다.
  • karma-bro 사용 - 카르마 브라우저 화 (ATM doesnt even work - bfy 5.0 API로 작동하지 않음) & karma-browserifast의 문제를 해결합니다.
  • 소스/공급 업체 소스/테스트가 모두 번들되므로 적용 범위가 까다로워집니다. 그래서 내가 만들었습니다 custom coverage transform, that marks which code whould be instrumented while bfy is bundling
  • browserify는 "전 처리기"가 업에 있어야합니다.
  • 무리 "변환 []"
  • 변환가 나는 browserify-이스탄불
위해 상기 짓 같은 사용자 모듈과 모듈 포장 기존 변환 고려하여 구성 될 수 browserfy 옵션 구성되어야