加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 07:03:47 所属栏目:安全 来源:网络整理
导读:1、测试回调函数? 和? promise ? contextBrokerService.addOnMessageListener(function (message) { MetaService.GetBondNameByXref(message).then(function (res) { vm.defaultBondName = res.data; }); } ? ? UT spyOn(contextBrokerService,‘addOnMessag

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‘);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读