我有一个使用 AngularAMD 和 require.js 的 Angular 应用程序。我想模拟这样的服务:
module(function ($provide) {
$provide.service('ToolsService', function () {
var toolsServiceMock = {
someMethod: function () { }
};
return toolsServiceMock;
});
});
并像这样注入:
angularAMD.inject(function ($injector) {
toolsService = $injector.get('ToolsService');
});
但是 $injector 给了我真正的服务而不是我的模拟。函数($provide) 也永远不会被调用。
当我将 angularAMD.inject() 更改为 angular injection() 时,我得到了模拟,但其他应用程序组件不起作用。
我如何告诉 angularAMD 使用模拟而不是真正的实现?