【发布时间】:2018-10-02 10:07:40
【问题描述】:
- Angular 中的单元测试、集成测试和端到端测试有什么区别?
- 我应该知道哪些原则或范式来实现这些测试,它是如何工作的?
我发现单元测试是针对组件类的,集成测试是针对组件类和模板的。
但我没有发现端到端测试与这些测试有何不同,我如何在 Angular 中实现它们,这是这些类型测试的原则和范例。
【问题讨论】:
我发现单元测试是针对组件类的,集成测试是针对组件类和模板的。
但我没有发现端到端测试与这些测试有何不同,我如何在 Angular 中实现它们,这是这些类型测试的原则和范例。
【问题讨论】:
这些类型的测试并没有因为您使用 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 创建订单,请验证订单是否已创建到数据库或第三方集成。
【讨论】: