【发布时间】:2014-08-01 10:50:51
【问题描述】:
我正在学习为我的 Angular 应用程序编写单元测试。我的控制器对资源、工厂、服务等有几个依赖项
angular.module('app').controller('Ctrl1',['$scope','Factory1','Factory2','Resource1','Resource2' ... and so on
Resource1、Resource2 等当然是从服务器获取数据。其中一些资源用于从服务器获取数据并初始化 $scope。
在网上阅读了无数教程后,我对编写 jasmine 测试的正确方法有一些疑问
在 jasmine 测试的 beforeEach 部分中,我应该立即提供所有依赖项还是应该只提供我关心的测试项
我要测试的是,调用 Resource1 并获取一些数据并初始化 $scope 的某些部分,然后调用 Resource2 并获取一些数据并初始化范围的其他部分等
执行上述操作的正确方法是什么。我的意思是我实际上是想在测试中获取数据还是应该使用一些模拟 http 服务。我知道教程提到我们应该使用模拟 http 服务,但是这将如何测试我的控制器,因为我实际上并没有获取正确的数据。
这部分真的很令人困惑,我还没有找到一篇可以清楚解释这一点的博客/文章(我可能会在弄清楚之后才写一篇。我相信其他人也很困惑)
【问题讨论】:
标签: angularjs unit-testing jasmine