【问题标题】:What is the difference between unit, integration and end-to-end tests in Angular?Angular 中的单元测试、集成测试和端到端测试有什么区别?
【发布时间】:2018-10-02 10:07:40
【问题描述】:
  1. Angular 中的单元测试、集成测试和端到端测试有什么区别?
  2. 我应该知道哪些原则或范式来实现这些测试,它是如何工作的?

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

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

【问题讨论】:

    标签: angular testing


    【解决方案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 创建订单,请验证订单是否已创建到数据库或第三方集成。

    【讨论】:

    • 非常感谢您的详细解答!
    猜你喜欢
    • 1970-01-01
    • 2011-07-18
    • 2011-06-21
    • 2014-03-20
    • 2018-07-23
    • 2013-10-23
    • 2011-02-14
    • 1970-01-01
    相关资源
    最近更新 更多