有什么方法可以用angularjs的$httpBackend模拟来自API的图像?
Is where way to mock image which comes from API with $httpBackend of angularjs?
我正在做量角器测试并使用 angular-mocks 来 "fake" 请求。
在我的应用程序中,应该显示图像的地方是:
<img ng-src="api/documents/image/{{file.Id}}">
是否可以像 json 那样拦截获取图像数据的请求并用一些伪造的图像数据替换它?
$httpBackend.whenGET('api/documents/123').respond(200,[]);
目前我的屏幕上出现了损坏的图像图标,我希望用一些假图像来代替。
我希望这是可能的...
亲切的问候
ngSrc 只接受 expression/static 路径 - 它不执行你可以模拟的 $http
调用,除非你的表达式是一个函数调用来获取图像,这可能不是你想要什么。我会推荐:
1) 添加一个配置变量到你的图片路径中,可以为 dev/prod 切换,例如:
ng-src="{{ baseUrl }}/api/documents/image/{{file.Id}}"
2) 将此 baseUrl
指向开发服务器,该服务器可提供您想要的任何模拟图像。例如,您可以创建一个简单的 Express 服务器,为每个请求传送相同的图像。
我正在做量角器测试并使用 angular-mocks 来 "fake" 请求。 在我的应用程序中,应该显示图像的地方是:
<img ng-src="api/documents/image/{{file.Id}}">
是否可以像 json 那样拦截获取图像数据的请求并用一些伪造的图像数据替换它?
$httpBackend.whenGET('api/documents/123').respond(200,[]);
目前我的屏幕上出现了损坏的图像图标,我希望用一些假图像来代替。 我希望这是可能的...
亲切的问候
ngSrc 只接受 expression/static 路径 - 它不执行你可以模拟的 $http
调用,除非你的表达式是一个函数调用来获取图像,这可能不是你想要什么。我会推荐:
1) 添加一个配置变量到你的图片路径中,可以为 dev/prod 切换,例如:
ng-src="{{ baseUrl }}/api/documents/image/{{file.Id}}"
2) 将此 baseUrl
指向开发服务器,该服务器可提供您想要的任何模拟图像。例如,您可以创建一个简单的 Express 服务器,为每个请求传送相同的图像。