2

저는 AngularJS 응용 프로그램에 대한 단위 테스트를 실행하기 위해 Karma를 사용하고 있습니다. 문제는 내가 ui-router plugin을 사용한다는 것입니다. 그리고 템플릿을 실행하기위한 XHR 요청이 만들어지면 그 요청을 조롱하게됩니다. 따라서 모든 테스트 파일에 대해이 작업을 반복합니다.Karma + Jasmine + AngularJS를 사용하여 공통 코드를 테스트하려면 어떻게해야합니까?

beforeEach(function($templateCache) { 
    $templateCache.put('templates/layout.html', ''); 
    $templateCache.put('templates/dashboard/index.html', ''); 
    $templateCache.put('templates/session/login.html', ''); 
    }); 

모든 단위 테스트에이 코드를 어떻게 실행할 수 있습니까? 나는 인터넷 검색을 시도했지만 행운이 없다. 또한, 다른 방법으로이 작업을 수행해야합니까? 의견을 공유하십시오.

감사합니다.

답변

3
당신은 NG-html2js 프리 프로세서로 보일 것입니다

:

https://github.com/karma-runner/karma-ng-html2js-preprocessor

그것은 템플릿 캐시 모듈로 배치까지 모든 템플릿 (즉 후드 $templateCache 사용) 사용할 수있는 것 :

describe('SOMETHING', function() { 
    beforeEach(module('templates')); 
+0

감사합니다. 나는 지금 떠나고있다. 그러나 내일 아침에 나는 그것을 시험해보고, 그 다음에 결과를 게시 할 것이다. –

+0

나는 틀린 길을 생각하고 있었다. 이 플러그인은 모든 템플릿을 $ templateCache에 저장하므로 항상 추가 할 필요가 없습니다. 감사! –

+0

예! 나는 그것에 대한 참조를 포함하도록 답변을 업데이트했다. –

관련 문제