Javascript AngularJs量角器:将ngMockE2E与手动引导的应用程序一起使用
我试图使用量角器模拟angularjs服务响应的数据。通过使用以下技术,我已经能够在其他应用程序中成功地做到这一点 创建可通过Gragrator.addMockModule配置的模拟模块Javascript AngularJs量角器:将ngMockE2E与手动引导的应用程序一起使用,javascript,angularjs,protractor,Javascript,Angularjs,Protractor,我试图使用量角器模拟angularjs服务响应的数据。通过使用以下技术,我已经能够在其他应用程序中成功地做到这一点 创建可通过Gragrator.addMockModule配置的模拟模块 var httpBackendMock = function() { angular.module('mockBackend', ['ngMockE2E', 'MyApp']) .value('configData', arguments[0]) .run(function($http
var httpBackendMock = function() {
angular.module('mockBackend', ['ngMockE2E', 'MyApp'])
.value('configData', arguments[0])
.run(function($httpBackend,configData) {
console.log('bootstrapped!');
$httpBackend.whenPOST(/.*/).respond(configData.postHeader, configData.postResponse);
});
};
module.exports.httpBackendMock = httpBackendMock;
然后创建一个如下所示的量角器测试
describe('Mocking an httpbackend', function() {
var sampleData = require('./sampleData/blog/normalLanding.json');
var configObject = require('./utils/backendConfig.json');//passed To addMockModule to be accessed via arguments[0]
var MyMockedBackend = require('./utils/httpBackendMock.js');
var ptor = protractor.getInstance();
configObject.postHeader = 200;
configObject.postResponse = sampleData;
it('Should mock a backnd', function(){
ptor.addMockModule('mockBackend', MyMockBackend.httpBackendMock, configObject);
ptor.get('/blog');
});
});
这对于一个应用程序来说非常有效
- 页面上运行的唯一角度应用程序
- 是通过ng应用程序引导的
rootElement
,用于标记应用程序引导
这种设置/方法有什么特别的错误吗?或者它可能是一个与使用手动引导的应用程序调用addMockModule有关的量角器执行顺序的问题
这里有一个指向github repo的链接,其中包含Angular网站上Angular Phonecat教程的一个工作示例。示例见test/e2e/utils和scenerios.js
干杯 检查这个答案是否对你有帮助:发布这个问题一段时间;不确定是否仍然相关。