具有依赖关系的Service源代码:

import { Injectable } from '@angular/core';@Injectable()
export class MasterService {constructor(private valueService: ValueService) { }getValue() { return this.valueService.getValue(); }
}export class ValueService {getValue() { return 'Jerry'; }
}

单元测试代码:

describe('MasterService with Angular TestBed', () => {let service: ValueService;let masterService: MasterService;beforeEach(() => {TestBed.configureTestingModule({ providers: [ValueService] });});it('should use ValueService', () => {service = TestBed.inject(ValueService);masterService = new MasterService(service);expect(masterService.getValue()).toBe('Jerry');});
});

高亮部分的代码,其实就类似于我们正式代码里通过@NgModule进行的module配置:

最后的测试结果:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

使用TestBed测试具有依赖关系的Angular服务相关推荐

  1. 使用jasmine.createSpyObj具有依赖关系的Angular服务进行单元测试

    具有依赖关系的Service源代码: import { Injectable } from '@angular/core';@Injectable() export class MasterServi ...

  2. ASP.NET Core基础知识(三)【依赖关系注入(服务)】

    在 ASP.NET Core 依赖注入 ASP.NET Core 支持依赖关系注入 (DI) 软件设计模式,这是一种在类及其依赖关系之间实现控制反转 (IoC)的技术. 有关特定于 MVC 控制器中依 ...

  3. 类继承和依赖注入的关系_管理类依赖关系:依赖关系注入,服务定位符和工厂简介,第1部分...

    类继承和依赖注入的关系 Let's face it: for good or bad, OOP has been actively drilling deep holes in the soil of ...

  4. RPM软件包管理 软件依赖关系 Yum软件的使用 上传与下载 时间设置 命令补充 zip归档工具

    环境准备 1.光盘文件放入挂载光驱设备 2.挂载光驱设备(临时挂载) mount /dev/cdrom /mnt ls /mnt ls /mnt/Packags 软件包一般都会以.rpm结尾 RPM软 ...

  5. ORACLE包和过程依赖关系测试

    一.概念 如果一个对象的定义中引用了其他对象,那么此对象被称为依赖对象(dependent object),此对象所引用的对象被称为引用对象(referenced object).为了管理方案对象(s ...

  6. oracle timestamp比较大小_ORACLE包和过程依赖关系测试

    一.概念 如果一个对象的定义中引用了其他对象,那么此对象被称为依赖对象(dependent object),此对象所引用的对象被称为引用对象(referenced object).为了管理方案对象(s ...

  7. Angular的后院:组件依赖关系的解决

    by Dor Moshe 通过Dor Moshe Angular的后院:解决 组件依赖关系 (Angular's Backyard: The Resolving of Components Depen ...

  8. ORDNet:为场景分割捕获全范围依赖关系

    点击上方"深度学习爱好者",选择加"星标"或"置顶" 重磅干货,第一时间送达小白导读论文是学术研究的精华和未来发展的明灯.小白决心每天为大家 ...

  9. mysql数据依赖关系_发现数据库对象的依赖关系

    SQL Server Management Studio中有一个很有意思的工具,可以查看某个对象的依赖和被依赖关系.如下图所示 假设,我们自己的程序也要实现这样的功能,那么该怎么做呢? 1. 首先,创 ...

最新文章

  1. 怎么配置mysql的ip_设置MYSQL允许用IP访问
  2. HDOJ1035 ( Robot Motion ) 【递归】
  3. 开放应用模型操作指南(一)| 云服务一键接入 OAM 体系
  4. [bzoj3879]SvT_后缀数组_RMQ_单调栈
  5. 从《王者荣耀》来聊聊游戏的帧同步
  6. java 输入人名_Java 读取控制台输入
  7. 工作流实战_12_flowable 流程实例 终止流程
  8. linux pae内核安装,Linux 安装PAE内核
  9. 送书!60 本签名书!
  10. 个人实践:总结方法论,提高做事效率
  11. 360桌面整理计算机图标,电脑桌面脏乱差 360桌面助手一键整理
  12. 10年日语营业转行IT从深圳到日本东京圈工作生活2019copy
  13. mongodb实现一主两从一个仲裁者
  14. ORACLE的递归查询
  15. 开发人员新常态:和云原生相爱相杀
  16. 2018 ACM-ICPC, Syrian Collegiate Programming Contest F. Pretests(子集dp)
  17. 先直播平台后抖音——不要再问用户需要什么
  18. 4 数据分析 统计学-描述统计分析
  19. 【UR #2】 猪猪侠再战括号序列
  20. GigE Vision简介

热门文章

  1. 【mac开发.NET】No installed provisioning profiles match the installed iOS signing identities
  2. Linux下程序报出/bin/bash: No such file or directory
  3. 用栈来求解汉诺塔变形问题
  4. C# DES加密类,16位的加密。
  5. MySql学习15----MySql日志
  6. 团队作业—系统设计和任务分配
  7. web容器(03):Nginx配置负载均衡
  8. 把代码push到github所遇到的问题
  9. CF 335B. Palindrome(DP)
  10. Centos6.4 为用户添加sudo功能