量角器,在api请求下用angular2嘲笑后端

前端之家收集整理的这篇文章主要介绍了量角器,在api请求下用angular2嘲笑后端前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以用一些帮助来找到我的问题的解决方案。我需要向我的angular2应用程序模拟一些数据,当它向api发出请求时,我需要做一些像:
  1. $httpBackend.when('GET','/userbookings/').respond(my json file data);

问题是,我可以在google上找到,使用用于angularJS(角度1)的$ httpBackend。

有没有人知道我如何能够在我的E2E测试中工作(应用程序是一个角度2的应用程序)?我试图用量角器或夜视仪(尝试两个框架)

规格测试:

  1. describe('Protractor Mocking bookings for angular2 site',function() {
  2.  
  3. var ngMockE2E = require('ng-mock-e2e');
  4.  
  5. var $httpBackend = ngMockE2E.$httpBackend;
  6.  
  7. beforeEach(function() {
  8. ngMockE2E.addMockModule();
  9. ngMockE2E.addAsDependencyForModule('myApp');
  10. ngMockE2E.embedScript('/bower_components/angular-mocks/angular-mocks.js');
  11. });
  12.  
  13.  
  14. afterEach(function() {
  15. ngMockE2E.clearMockModules();
  16. });
  17.  
  18. it('Inject mock data of bookings',function() {
  19.  
  20. var EC = protractor.ExpectedConditions;
  21. var global = require('../bin/globals.js');
  22.  
  23. // Bookings data in a json file which should be send as the response
  24. var mockData = require('../testData.json');
  25.  
  26. browser.ignoreSynchronization = false;
  27.  
  28. $httpBackend.when('GET','/userbookings').respond(mockData);
  29.  
  30. browser.get(global.so.enLoggedIn);
  31.  
  32. });
  33.  
  34. });

这个测试不会工作,因为它使用一些angular1方式。已经展示了,所以你可以看到我的测试是如何。

希望有人可以帮助我,在这里,真的很难找到一些使用angular2的工作。

量角器 does not yet support adding mock modules for Angular 2 applications
  1. // TODO: support mock modules in Angular2. For now,error if someone
  2. // has tried to use one.
  3. if (self.mockModules_.length > 1) {
  4. deferred.reject('Trying to load mock modules on an Angular2 app ' +
  5. 'is not yet supported.');
  6. }

而且,我也为TODO创造了一个github问题来引起注意:

> Support adding mock modules to Angular 2 applications

顺便说一下,这也意味着量角器http-mock不会工作,因为它依赖于addMockModule internally.我亲自试用了一个示例Angular2应用程序的量角器http-mock,得到:

Failed: Trying to load mock modules on an Angular2 app is not yet supported.

http-backend-proxyhttpbackend套件也是如此。

我猜,虽然这个问题还没有解决,你应该考虑发起一个代理,作为一个“外部模拟”你的API后端,没有做到这一点,看到更多的:

> Running AngularJS Protractor with proxy to https
> Mocking and Stubbing with protractor

猜你在找的Angularjs相关文章