我想用jasmine测试角度js中的函数。我创建了一个控制器,其中一个范围函数在下面给出。
app.controller('NavigationCtrl', ['$scope', '$route', '$rootScope', function ($scope, $route, $rootScope) {
$scope.title="Hello World";
$scope.testMe = function () {
$scope.title = "Welcome";
}
}]);
另外,我想使用jasmine测试用例从另一个控制器调用上面的控制器函数,即$ scope.testMe。所以,我创建另一个控制器,并尝试从该控制器调用函数。
app.controller('RunTestCaseCtrl', ['$scope', '$http', '$location', '$route', '$routeParams', '$rootScope', '$timeout', 'MDT_Constant', function ($scope, $http, $location, $route, $routeParams, $rootScope, $timeout, MDT_Constant) {
describe('mycontroller', function () {
beforeEach(module('app'));
it('scopeTestSpec',
inject(function ($controller, $rootScope) {
var $scope = $rootScope.$new();
$controller('NavigationCtrl', {
$scope: $scope
});
$controller.testMe();
expect($scope.title).toEqual('Welcome');
console.log('ok');
}));
});
}]);
这将给出错误“模块未定义”。
那么,如何使用茉莉花测试从另一个控制器调用控制器方法