【发布时间】:2013-04-24 00:19:17
【问题描述】:
基本上,我对 Mocha 非常有经验(编写了数千个单元测试),而我对 AngularJS 很陌生(仅编写了我的第一个项目)。
现在我想知道如何使用 Mocha 对所有 AngularJS 的东西进行单元测试。
我知道 Mocha 在浏览器中运行,我已经这样做了。但是我该如何组织和设置东西呢?
我想我需要:
- 加载 AngularJS
- 加载摩卡
- 加载我的测试
在每个测试中,我需要加载一个控制器、一个服务……来进行测试。我怎么做?我没有使用 require.js 或类似的东西,这些文件只是脚本文件,基本上具有以下内容:
angular.controller('fooController', [ '$scope', function ($scope) {
// ...
}]);
如何在测试中引用和实例化该控制器? 服务、指令、...
我是否需要为$scope、$http 和公司创建模拟?为我自己,或者有什么帮助?
请注意,我知道有 Karma 测试运行器(以前称为 Testacular),但我不想完全切换我的测试运行器。
【问题讨论】:
-
即使您没有使用 Karma/Testacular,请查看angular-seed 中的一些示例。它们展示了您如何使用
angular-mocks设置您的模块进行测试。 -
这是一篇对使用 mocha 进行测试非常有用的文章:yearofmoo.com/2013/01/…
-
angular-seed 项目没有太大帮助,因为它使用的是 jasmine。为什么没有使用 mocha 及其适配器的示例?
标签: unit-testing angularjs mocha.js