2014-04-27 2 views
3

나는 각도 JS를 사용하여 크롬 패키지 앱을 쓰고있다.Travis-CI에서 Chrome 패키지 앱을 테스트하려면 어떻게해야하나요?

내 설정은 건물/유닛 테스트에 grunt/karma/jasmine을 사용하고 chrome. * API를 사용하기 전까지는 문제가 없었습니다. PhantomJS를 사용하기 위해 Travis-CI를 설정했지만 Phantom은 chrome 글로벌 var에 대해 알지 못합니다.

  1. 트래비스-CI 테스트
  2. 을 테스트 패키지 애플 리케이션을위한 ReferenceError: Can't find variable: chrome을 던져, 그래서 통과하지 않습니다 카르마와 단위 테스트를 실행하는 방법은 PhantomJS가 던지고 오류를 억제 할 수있는 방법 (이 거기입니다) 이미 나쁜

답변

3

거의 생각을 소리 : 당신은 polyfill 수

  1. 을/크롬 스텁 * 크롬을 시뮬레이션, 테스트를 실행하기 전에 API를. 앱 환경. 이미 이미이 작업을 완료했는지 확실하지 않습니다 (즉, 여기에 빠른 example for node-webkit 발견).)

  2. 자스민 테스트 정의를 if (!is_chrome_app) return;과 같은 포장으로 감싸서 PhantomJS에서 항상 실패한다는 것을 알지 못하는 테스트는 건너 뛰기 만하면됩니다. jasmine에서 이것을 수행하는 한 가지 방법은 쵸메 응용 프로그램이 아닌 경우 정의 호출을 생략하는 defineChromeAppOnly 도우미를 만드는 것입니다.

  3. 실제로 실제 Chrome 앱에서 테스트를 실제로 실행하기위한 대체 시스템이 필요합니다. 나는 항상 내 자신의 원유 CI를 이것을 위해 (또는 수동으로) 만들었지 만, 이것은 CI에 대해 더 쉽게 만들 수 있기 때문에 request with Travis CI Team to support Chrome Packaged Apps을 제출했습니다. 당신이 그들이 대답하는 것에 관심이 있다면 그 문제에 별표를 붙이십시오.

관련 문제