2013-08-29 4 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

Похоже, что он должен работать (без запуска). Можете ли вы изолировать его на плункер? Вот один из них, на котором уже был установлен тестовый блок контроллера, чтобы вы начали: 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

Смежные вопросы