TypeError:'undefined'不是使用ngRoute的对象(评估'angular.module)

时间:2016-01-24 19:41:23

标签: javascript angularjs karma-jasmine ngroute

我不知道它是否是一个有效的问题,但只要我将ngRoute注入我的应用程序 我的$ scope未定义。

没有ng-Route的应用程序看起来像这样

angular.module('DummyApp', [])
.controller('DummyCtrl', ['$scope',  function ($scope) {
    $scope.name = "World";
}]);

像这样的测试用例

describe( 'Dummy Controller', function(){
    var scope, http, DummyCtrl;

    beforeEach(module('DummyApp'));
    beforeEach(inject(function($controller, $rootScope) {

        scope = $rootScope.$new();
        DummyCtrl = $controller('DummyCtrl', {
            $scope: scope
        });
    }));

    it('should contain the word world', function(){
        expect(scope.name).toEqual("World");
    });

});

传递没有任何错误

但如果我将ngRoute注入我的应用

angular.module('DummyApp', ['ngRoute'])
.controller('DummyCtrl', ['$scope',  function ($scope) {
    $scope.name = "World";
}]);

TypeError:'undefined'不是对象(评估'scope.name')

我也尝试配置$ routeProvider,见下文 但我只是不知道如果注入ngRoute怎么写我的测试

angular.module('DummyApp', ['ngRoute']).app.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.
    when('/smth', {
        templateUrl: 'smth.html',
        controller: 'testController'
    });
}])
.controller('DummyCtrl', ['$scope',  function ($scope) {
    $scope.name = "World";
}]);

0 个答案:

没有答案