我不知道它是否是一个有效的问题,但只要我将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";
}]);