我如何注入$ rootScope到AngularJS单元测试? [英] How do I inject $rootScope into an AngularJS unit test?

查看:201
本文介绍了我如何注入$ rootScope到AngularJS单元测试?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有依赖于$ rootScope一个值,如用下面的(简单)服务的服务:

  angular.module('myServices',[])
.factory('rootValGetterService',函数($ rootScope){
    返回{
        GETVAL:功能(){
            返回$ rootScope.specialValue;
        }
    };
});

如果我想单元测试此通过把一个价值$ rootScope,什么是去它的最佳方式?


解决方案

  ...
变量$ rootScope;
beforeEach(注(功能(_ $ rootScope_){
  $ rootScope = _ $ rootScope_;
}));
...

Suppose I have a service that depends on a value in $rootScope, as with the following (trivial) service:

angular.module('myServices', [])
.factory('rootValGetterService', function($rootScope) {
    return {
        getVal: function () {
            return $rootScope.specialValue;
        }
    };
});

If I want to unit test this by putting a value in $rootScope, what is the best way to go about it?

解决方案

...
var $rootScope;
beforeEach(inject(function(_$rootScope_) {
  $rootScope = _$rootScope_;
}));
...

这篇关于我如何注入$ rootScope到AngularJS单元测试?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆