我想在运行时替换Web应用程序中的一个服务以进行测试。有一个连接到某些本地环境中不可用的外部服务的服务,我想只是执行一个命令来用模拟替换它。
我已经看到我可以通过调用:
在运行时从AngularJS获得任何服务> angular.element('html').injector().get('myService')
但我想知道是否有办法取代“我的服务”。用其他东西。
我知道创建一个“myServiceWrapper”'暴露了我的服务'允许我通过这样做轻松地替换它:
> angular.element('html').injector().get('myServiceWrapper').myService = new Whatever();
但我想避免对已经有效的应用程序进行更改。