我一直试图测试一项服务暂时没有用,并希望得到一些帮助.这是我的情况:
我的服务看起来有点像这样
myModule.factory('myService', ['$rootScope', '$routeParams', '$location', function($rootScope, $routeParams, $location) {
var mySvc = {
params: {}
}
// Listen to route changes.
$rootScope.$on('$routeUpdate', mySvc.updateHandler);
// Update @params when route changes
mySvc.updateHandler = function(){ ... };
...
...
return mySvc;
}]);
Run Code Online (Sandbox Code Playgroud)
我想在服务注入'myService'我的测试之前模拟注入的服务,这样我就可以测试下面的初始化代码了
var mySvc = {
params: {}
}
// Listen to route changes.
$rootScope.$on('$routeUpdate', mySvc.updateHandler);
Run Code Online (Sandbox Code Playgroud)
我正在使用Jasmine进行测试和模拟.这就是我现在想出来的
describe('myService', function(){
var rootScope, target;
beforeEach(function(){
rootScope = jasmine.createSpyObj('rootScope', ['$on']);
module('myModule');
angular.module('Mocks', []).service('$rootScope', rootScope );
inject(function(myService){
target = myService; …Run Code Online (Sandbox Code Playgroud)