我正在使用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