【发布时间】:2013-10-17 20:56:54
【问题描述】:
对于编写 Angular 代码的前端开发人员,我应该对 javascript 前端项目的哪个部分进行单元测试?我发现不需要测试很多代码,我最大的问题是需要测试 Angular 服务的哪一部分?如果 $httpBackend 是一个模拟调用,那么调用它有什么意义?
【问题讨论】:
标签: unit-testing angularjs service
对于编写 Angular 代码的前端开发人员,我应该对 javascript 前端项目的哪个部分进行单元测试?我发现不需要测试很多代码,我最大的问题是需要测试 Angular 服务的哪一部分?如果 $httpBackend 是一个模拟调用,那么调用它有什么意义?
【问题讨论】:
标签: unit-testing angularjs service
随着您的项目变得越来越复杂,您可能会发现您的 Angular 应用程序正在做很多事情。 Angular 的设计允许客户端承担很多处理和渲染来自服务器的数据的责任。
是的,我同意,除了您自己的代码之外,您不应该测试任何东西。因此,为$http 编写测试是没有用的。但是,如果您希望服务器返回特定的 JSON 合约,并且您希望确保将其正确映射到您将在 Angular 应用程序中使用的结构,则值得测试。此外,如果您在服务或控制器中进行计算,则该逻辑值得测试。
Angular 本身被设置为支持 TDD,因为它在视图、控制器和服务之间很好地分离了关注点(甚至可以编译和测试指令)。您编写的所有 javascript 代码都是测试覆盖率的良好候选者。所以,恕我直言,您应该对指令、控制器和服务进行单元测试。你可以得到尽可能详细的信息,以确保你的代码是可靠的。
【讨论】: