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