我使用https://github.com/danialfarid/angular-file-upload爲我的文件上傳。它提供了一個稱爲progress
的方法,當xhr請求收到progress
事件時。這是從角文件上傳的源代碼:使用$httpBackend
xhr.upload.addEventListener('progress', function(e) {
deferred.notify(e);
}, false);
我的問題是現在,我應該怎麼測試呢?我可以測試的成功和錯誤的方法與
$httpBackend.expectPOST("http://localhost:9001/").respond('ok');
$httpBackend.expectPOST("http://localhost:9001/").respond(500, 'some error');
,但我不能讓許火的notify
。有沒有辦法做到這一點?
編輯
,我想測試的一部分,是progress
方法中:
$upload.http({url: url, method: 'POST', data: file})
.progress(function(evt) {
// here is more code, that needs to be tested
self.$deferreds.upload.notify((100.0 * evt.loaded/evt.total).toFixed(2));
}).success(function(data, status, headers, config) {
self.$deferreds.upload.resolve(data);
}).error(function(response) {
self.$deferreds.upload.reject(response);
});
我已經從我的應用程序添加更多的代碼。我想測試當進度事件被觸發時執行的代碼。 – 23tux