次のようなものを試すことができます。あなたのテストでモックモジュールを追加します。
browser.addMockModule('httpInterceptor', function() {
angular.module('httpInterceptor', []).factory('httpRequestInterceptor',function ($q) {
return {
request: function (request) {
window.handledRequests = window.handledRequests || [];
window.handledRequests.push({
url: request.url,
method: request.method,
params: request.params,
data: JSON.stringify(request.data)
});
return request || $q.when(request);
}
};
}).config(function ($httpProvider) {
$httpProvider.interceptors.push('httpInterceptor');
});
});
その後、あなたはこのようなあなたのテストでアサーションを書くことができます。
browser.controlFlow().execute(function() {
browser.executeScript(function() {
return window.handledRequests;
}).then(function (handledRequests) {
// assert content of handledRequests
});
});
あなたがこの方法でテストしたいのはなぜ?これは統合テストなので、呼び出しの結果に対してアサートしないでください。これは分裂器よりもHTTPBackendの方がユニットレベルでうまくいくと思われます。 –
本当ですが、正しいエンドポイントが呼び出され、不要な呼び出しが行われていないことを確認するために、アプリケーションによって呼び出されたエンドポイントを検証するといいでしょう。 –