加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 08:08:42 所属栏目:安全 来源:网络整理
导读:我可以用一些帮助来找到我的问题的解决方案。我需要向我的angular2应用程序模拟一些数据,当它向api发出请求时,我需要做一些像: $httpBackend.when('GET','/userbookings/').respond(my json file data); 问题是,我可以在google上找到,使用用于angularJS
我可以用一些帮助来找到我的问题的解决方案。我需要向我的angular2应用程序模拟一些数据,当它向api发出请求时,我需要做一些像:
$httpBackend.when('GET','/userbookings/').respond(my json file data);

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

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

规格测试:

describe('Protractor Mocking bookings for angular2 site',function() {

var ngMockE2E = require('ng-mock-e2e');

var $httpBackend = ngMockE2E.$httpBackend;

beforeEach(function() {
    ngMockE2E.addMockModule();
    ngMockE2E.addAsDependencyForModule('myApp');
    ngMockE2E.embedScript('/bower_components/angular-mocks/angular-mocks.js');
});


afterEach(function() {
    ngMockE2E.clearMockModules();
});

it('Inject mock data of bookings',function() {

    var EC = protractor.ExpectedConditions;
    var global = require('../bin/globals.js');

    // Bookings data in a json file which should be send as the response
    var mockData = require('../testData.json');

    browser.ignoreSynchronization = false;

    $httpBackend.when('GET','/userbookings').respond(mockData);

    browser.get(global.so.enLoggedIn);

});

});

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

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

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

而且,我也为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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读