angular2 中的集成测试与隔离测试

Integrated testing vs Isolated testing in angular2

  1. 集成测试之间的主要区别是什么 反对 隔离测试 ?
  2. 什么时候使用这些?

集成测试

  • 需要更多的努力
    1. 正在设置要测试的组件(使用 TestBed
    2. 检查哪些是子组件和自定义组件
    3. 在那些子(或)自定义组件中配置属性和方法,如果失败则抛出错误
  • 即使对于一个简单的场景 involves more time 因为每个 属性 或它们的绑定都必须单独测试。这增加了以下任一
    1. it 个块的数量
    2. 单个 it 块中的 expect 语句数
  • 吸引或 temptswrite more test cases 因为原因在第二个项目符号中
  • 没有Pipes或者Services都测试过了。

隔离测试

  • 无需配置即可测试(包括组件)
  • Handles logic which has low complexity 只测试父组件而不用担心子组件。
  • 可以轻松测试复杂的属性和绑定,因为可以将整个对象传递到 expect 语句中,这与上面不同,这减少了测试用例的数量。
  • 主要用于单元测试 PipesServices 因为它们的功能是完全独立的