Angular中的单元测试,集成测试和端到端测试有什么区别?

时间:2018-10-02 10:07:40

标签: angular testing

  1. Angular中的单元测试,集成测试和端到端测试有什么区别?
  2. 实现每种测试我应该了解哪些原理或范式,它如何工作?

我发现单元测试是针对组件类的,集成测试是针对组件类和模板的。

但是我没有发现端到端测试与这些测试有什么不同,我如何在Angular中实现这些,这是这些类型的测试的原理和范例。

1 个答案:

答案 0 :(得分:1)

这些测试类型并没有因为您使用Angular而有所不同。 无论使用哪种框架,它们的用法几乎相同。

我会尽力解释

单位

是仅测试某个隔离的代码单元

示例:

var sum = function(firstVal, secondVal){ 
    return firstVal + secondVal;
}

在这里,我们可以使用单元测试来验证该代码是否确实将firstVal和secondVal相加。

expect(sum(3,5)).toEqual(8);

集成

是在测试集成时,您通常会与某些代码交互但无法控制

示例:

假设您在应用程序中使用了第三方api,它公开了一个GET方法,该方法计算两个值的总和。 在这里,我们可以使用集成测试来验证我们无法控制的外部api是否确实能够正常运行。

request("http://someapi/sum?firstVal=3&secondVal=5", function(error, response){
  expect(response).toBe(8);
});

端到端

是从一端到另一端测试整个应用程序的时间。

示例: 首先要成为用户,然后从Web UI使用该应用程序。然后,验证已正确执行由webUI触发的所有操作。例如,如果您从gui创建订单,请验证该订单是否一直创建到数据库或第三方集成。