0

使用angular-seed的新克隆我正在尝试一些 BDD 并添加了以下测试和代码。但是,一旦我将 $scope 添加到控制器中,该套件就会按expect(view1Ctrl).toBeDefined();预期失败。

以下是我所做的唯一添加,它会在 Karma 运行时导致明显的失败。

应用程序/view1/view1.js

.controller('View1Ctrl', ['$scope', function($scope) {
  $scope.name = "Name";
}]);
4

1 回答 1

2

在您的测试(view1_test.js)中,您需要将 $scope 注入控制器...

    describe('myApp.view1 module', function() {

  beforeEach(module('myApp.view1'));

  describe('view1 controller', function(){

    it('should ....', inject(function($controller, $rootScope) {
      //spec body
      var $scope = $rootScope.$new();
      var view1Ctrl = $controller('View1Ctrl', {$scope: $scope});
      expect(view1Ctrl).toBeDefined();
    }));

  });
});
于 2015-03-13T23:47:40.617 回答