我正在实施一个 Angular 应用程序。在 e2e 测试中,我想模拟一些对服务器的请求并通过一些,即我想使用e2e httpBackend。
这是如何使用 HttpBackend 的 Vijittas 示例。
` http://jsfiddle.net/vojtajina/DQHdk/ `
现在,这是一个难题:当我在测试时,我希望我的应用程序能够使用开发模块进行引导,即
<html ng-app="AppDevModule">
当我运行服务器时,我希望包含生产模块。
<html ng-app="AppCoreModule">
但是每当我想在开发模式和生产模式之间进行更改时,我认为更改 HTML 是不合理的。
提供了包含开发模块的代码片段,但他们没有提到任何有关问题和包含开发应用程序的内容。
我正在使用有角睾丸。我尝试在 e2e 测试中像这样配置它:
describe("DHCP Client e2e. ", function () {
beforeEach(function () {
var fakeAppModule = angular.module('AppCoreModule', ['AppCoreModule', 'ngMockE2E']);
fakeAppModule.run(function ($httpBackEnd) {
var networkInterface = [
{
'secondarySubnets':[
{"dhcpOfferOptions":{"dnsServers":["8.8.8.8"], "offerTime":"400", "leaseTime":"600"}, "rangesLimits":[],
"network":"192.168.0.0", "slash":"24", "gateway":"192.168.0.1",
"isDynamic":"dynamic", "description":"asdsadsa"}
]
},
{
'secondarySubnets':[
{"dhcpOfferOptions":{"dnsServers":["8.8.8.8"], "offerTime":"400", "leaseTime":"600"}, "rangesLimits":[],
"network":"192.168.0.0", "slash":"24", "gateway":"192.168.0.1",
"isDynamic":"dynamic", "description":"asdsadsa"}
]
}
];
$httpBackEnd.whenGET('/^\/view\//').respond(200, '<div></div>');
$httpBackEnd.whenGET('/r/networkInterface').respond(200, networkInterface);
$httpBackEnd.whenGET('./../main/webapp/r/networkInterface').respond(200, networkInterface);
});
fakeAppModule.config(function ($provide) {
$provide.decorator('$httpBackend', angular.mock.e2e.$httpBackendDecorator);
});
});
但是,事情并没有像我预期的那样发展。