我正在實施一個Angular應用程序。在e2e測試中,我想模擬一些對服務器的請求,並通過一些請求,即我想使用e2e httpBackend。在角度測試/開發模塊和生產模塊之間切換
這裏是Vijittas如何使用HttpBackend的例子。
` http://jsfiddle.net/vojtajina/DQHdk/ `
現在,這裏是兩難境地:當我測試我想我的應用程序與開發模塊即
<html ng-app="AppDevModule">
自舉,當我運行服務器我要包括生產模塊。
<html ng-app="AppCoreModule">
但是我不認爲每當我想在開發模式和生產模式之間切換時都要更改HTML。
The documentation of e2e httpBackend
提供了一個代碼片段,包括開發模塊,但他們沒有提到這個問題和開發應用列入任何東西。
我正在使用棱角分明。我試圖將其配置在端對端的測試是這樣的:
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);
});
});
但是,正如我預料的事情不要去。基於以下螺紋