2017-04-22 1 views
0

Angularjs에 대한 새로운 기능입니다. 나는 index.html을 루트 page.it는 I가 app.js 파일이 index.html을 연결 한

//links to other pages 
//ng-view 

index.html을이를로드하는

내용 아래에 포함하는 단일 페이지 응용 프로그램이 사용자가 ngRoute를 사용하여 index.html의 링크를 클릭하면 해당 페이지가 표시됩니다.

내 app.js 페이지는이

같은 지금

'use strict'; 

angular.module('myApp', [ 'ngRoute', 'ngAnimate', 'ngSanitize', 
    'ui.bootstrap', 'checklist-model', 'blockUI','isteven-multi-select' ]); 

var App = angular.module('myApp'); 

//ngroute code 

app.js 보이는 사용자가 인덱스에서 링크 중 하나를 클릭 할 때로드 페이지 search_name.html 및 search_name_controller.js .html

search_name_controller는 다음과 유사합니다.

search_name_controller.js

'use strict'; 

App.controller('SearchCifCtrl', [ '$scope', '$location', '$uibModal', 
'WorkflowService', 'ConstantService', function($scope, $location, $uibModal, 
WorkflowService, ConstantService) { 

//some code 

} ]); 

는 단일 페이지 응용 프로그램 angular.module 문 만 app.js 파일에 기록된다 Snce. 다른 js 파일에는 기록되지 않습니다. 지금은

아래 search_name_controller.test.js

describe('search_name_controller', function() { 

beforeEach(function() { 
    module('myApp'); 
}); 

var $controller; 

beforeEach(inject(function(_$controller_){ 
    $controller = _$controller_; 
})); 

//code to test method 
}); 

내가이 테스트를 실행하려고하는 동안, 나는 "로 오류가 발생하고 같은 테스트 코드를 작성했습니다 KARMA.I를 사용 search_name_controller.js 테스트 할 $ 컨트롤러가 함수 "이 아닙니다. angular.module 부분이 search_name_controller.js 파일에 정의되어 있지 않기 때문에 오류라고 생각합니다. 추가하려고하면 테스트를 실행할 수 있습니다. 그러나 기존 코드를 변경하지 못했습니다. search_name_controller.js에 대한 테스트 시나리오를 작성하더라도 내 테스트 파일이 app.js 파일의 angular.module 부분을 읽을 수있는 방법이 있습니까?

친절

+0

당신이 테스트 케이스 스크립트에서 $ 컨트롤러를 사용하여 스크립트를 추가하십시오 –

답변

0
beforeEach(inject(function($controller){ 

    controller = $controller('SearchCifCtrl', { 
    $scope: scope 
    }); 
})); 

가 // 컨트롤러를 주입하기 위해 시도하는 데 도움

관련 문제