微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UT----回调函数 和 promise angularjs + jasmine + karma

1、测试回调函数  和  promise

   
contextbrokerService.addOnMessageListener(function (message) {
  MetaService.GetBondNameByXref(message).then(function (res) {
    vm.defaultBondName = res.data;
  });
}
 
 
UT

spyOn(contextbrokerService,‘addOnMessageListener‘).and.callFake(function(){
  arguments[0]({message: ‘msgValue‘})       //   spyOn().and.callFake(function() {arguments[0]({message: ‘value‘})})     用来执行回调函数
});
spyOn(MetaService,‘GetBondNameByXref‘).and.returnValue(q.resolve({data: ‘defaultBondName‘}));  // q  是注入的$q的别名, 这里不能用Promise.resolve代替
scope.$emit(‘GridsLoaded‘);
scope.$digest();        //   会把所有的异步($q的异步方法,不执行Promise的异步)方法执行完,如果有刷新页面或请求页面的请求, 用$httpBackend mock 掉。 如请求了pages/BWICColor.html.  
这样去mock 解决, 一般会放在beforeEach中  $httpBackend.whenGET("pages/BWICColor.html").respond({});
done();
expect(ctrl.defaultBondName).toBe(‘defaultBondName‘);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐