我一直在尝试通过注入模拟依赖项来使用 Mocha对一些 Angular js 服务进行单元测试。我已经阅读了很多关于此的内容,并且有人建议使用angular-mocks的 master 分支应该可以与 mocha 一起正常工作。但是,当我尝试这个时,我得到以下 javascript 错误,并且未定义“注入”和“模块”函数:
ReferenceError: beforeEach is not defined
我也尝试过使用 angular.injector,这让我取得了一些成功,但是,我无法模拟我的服务所依赖的服务(在本例中为 $http)。我的服务:
var app = angular.module('app', ['ui.bootstrap'], function($provide){
$provide.factory('myService', ['$http', function($http){
return {
doSomething: function(batch){
...
}
};
}]);
});
解决:
$injector = angular.injector(['ng', 'app']);
var subject = $injector.get('myService');
不使用茉莉花这可能吗?