我正在使用angularjs(1.x)作爲框架的項目。在這個項目中,我有一個Web界面,我做了一些後端請求。我覺得有必要爲這個工具編寫測試。所以,我開始爲此編寫單元測試用例。但是現在,我無法想出一些函數的測試用例。我的問題是:單元測試用例的函數不返回,但調用其他函數
我想編寫正在做後端請求,並在success
或error
函數的測試用例,我正在調用其他函數。所以,基本上這個函數並沒有返回任何東西。那麼,我該如何測試這個功能呢?
代碼片斷是:在backendService
public makePutRequest(): void {
this.backendService.putBackendRequest(url, backendData, config)
.then((success) => {
successFunction(success); // function call on success
}, (error) => {
errorFunction(error); // function call on error
})
}
功能是:
public putBackendRequest(url, backendData, config){
let defered = this.$q.defer();
this.$httpService.put(url, backendData, config)
.success((data, status, headers, config): void => {
if (status === 200) {
// do some further manipulation with data.
}
return defered.resolve(data);
})
.error((data, status, headers, config): void => {
if (status === 500) {
// do some other manipulation.
}
return defered.reject(data);
});
return defered.promise;
}
我寫的用因果報應的測試運行和茉莉花與angularjs測試框架單元測試的測試用例(1.x的)作爲框架。現在
,我無法弄清楚如何編寫測試用例功能makePutRequest
,因爲它越來越promise
,並承諾resolve
它調用一個函數和reject
它調用其他功能。
我是新來編寫angularjs中的單元測試。任何有用的建議將非常有幫助!
謝謝
您是否試圖嘲弄您的makePutRequest調用 – ukn
@ukn:我正在編寫makePutRequest函數的測試用例。我爲什麼要嘲笑這個功能? –
我的不好,我正在考慮嘲笑putBackendRequest,但我寫了makePutRequest。 – ukn