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