2013-08-29 3 views
0

내 컨트롤러에 대한 단위 테스트를 수행하고 싶습니다. 이미 물건을 준비했는데 스코프가 제대로로드되지 않는다는 것을 제외하고는 모든 것이 잘 작동합니다. 내 컨트롤러에서는 값 사용자를 설정했지만 내 테스트에서는 값이 설정되지 않습니다.각 단위 테스트 - 컨트롤러

merchantCreateController = ($scope, $location, Users, keyboardManager) -> 
    $scope.user= sector: [] 

이제 내 단위 테스트에서 사용자가 해당 값으로 초기화되었는지 테스트하고 싶습니다.

define ["controllers/user", "chai", "angular" ,"angularMocks", "app/services"], (directive, chai, angular, mocks) -> 
describe "controllers.user.create", -> 
    controller = null 
    scope = null 
    user= null 
    sector = null 
    location = null 
    beforeEach -> 
     mocks.module "app.controllers.user" 
    beforeEach -> 
     mocks.module "app.services" 
    beforeEach -> 
     mocks.inject ['$rootScope', '$controller', '$location', 'app.services.user', 'app.services.sector', ($rootScope, $controller, _location, _user, _sector)-> 
      scope = $rootScope.$new() 
      scope.user= sector: [] 
      user = _user 
      location = _location 
      sector = _sector 
      controller = $controller("app.controllers.merchant.edit", 
       $scope: scope, 
       $location: location 
       "app.services.user": user 
       "app.services.sector": sector 
       keyboardManager: bind: -> 
      ) 
     ] 
    it '$scope.user is initialisized', -> 
     console.log scope.user 
     chai.expect(scope.user).to.deep.equal sector: [] 

scope.user가 정의되어 있지 않은 이유는 어떤 생각하지만, 다른 모든

+0

(작동하지 않고) 작동하는 것처럼 보입니다. 당신은 그것을 plunker에 격리시킬 수 있습니까? 여기에 이미 컨트롤러 유닛 테스트가 시작되어 있습니다. http://plnkr.co/edit/uBwsJxJRjS1qqsKIx5j7?p=preview –

답변

0
controller = $controller("app.controllers.merchant.create", 
      $scope: scope, 
      $location: location 
      "app.services.user": user 
      "app.services.sector": sector 
      keyboardManager: bind: -> 
     ) 

실수 내가 컨트롤러를 작성 시험이었다이 컨트롤러에있는 기능처럼에,하지만 난 거기에 편집을 썼습니다 : P

관련 문제