完成测试

pull/1/head
954270063@qq.com 2020-04-20 23:28:23 +08:00
parent 1f4f65ffd1
commit b3c11c0252
5 changed files with 101 additions and 3 deletions

View File

@ -1,6 +1,6 @@
{
"name": "axios-miniprogram",
"version": "1.0.9",
"version": "1.0.10",
"description": "基于 Promise 的 HTTP 请求库,适用于各大小程序平台。",
"main": "package/index.js",
"miniprogram": "package",

View File

@ -2,7 +2,7 @@
* @Author: early-autumn
* @Date: 2020-04-13 18:01:16
* @LastEditors: early-autumn
* @LastEditTime: 2020-04-20 13:36:32
* @LastEditTime: 2020-04-20 23:23:29
*/
import { AxiosRequestConfig, AxiosResponse } from '../types';
import isCancel from '../cancel/isCancel';

View File

@ -0,0 +1,54 @@
/*
* @Author: early-autumn
* @Date: 2020-04-20 22:42:46
* @LastEditors: early-autumn
* @LastEditTime: 2020-04-20 23:22:29
*/
import dispatchRequest from '../../src/core/dispatchRequest';
import CancelToken from '../../src/cancel/CancelToken';
import isCancel from '../../src/cancel/isCancel';
import { CancelAction } from '../../src/types';
const task = {
abort: jest.fn(),
};
describe('测试 src/core/dispatchRequest.ts', () => {
it('默认', async () => {
await dispatchRequest({}).catch((err) => {
expect(err.message).toBe('平台适配失败,您需要参阅文档使用自定义适配器手动适配当前平台');
});
});
it('请求失败', async () => {
await dispatchRequest({
adapter({ success }) {
success({ status: 200, data: '' });
return task;
},
validateStatus(status) {
return status === -1;
},
}).catch((err) => expect(err.response.status).toBe(200));
});
it('取消请求', () => {
try {
let cancel: CancelAction;
dispatchRequest({
adapter({ success }) {
cancel();
setTimeout(() => {
success({ status: 200, data: '' });
});
return task;
},
cancelToken: new CancelToken(function executor(c) {
cancel = c;
}),
});
} catch (err) {
expect(isCancel(err)).toBe(true);
}
});
});

View File

@ -2,13 +2,14 @@
* @Author: early-autumn
* @Date: 2020-04-20 20:39:42
* @LastEditors: early-autumn
* @LastEditTime: 2020-04-20 20:45:17
* @LastEditTime: 2020-04-20 23:27:34
*/
import flattenHeaders from '../../src/core/flattenHeaders';
describe('测试 src/core/flattenHeaders.ts', () => {
it('默认', () => {
expect(flattenHeaders({})).toEqual({});
expect(flattenHeaders({ headers: {} })).toEqual({});
});
it('默认 get', () => {

43
test/core/request.test.ts Normal file
View File

@ -0,0 +1,43 @@
/*
* @Author: early-autumn
* @Date: 2020-04-20 22:51:26
* @LastEditors: early-autumn
* @LastEditTime: 2020-04-20 23:26:18
*/
import request from '../../src/core/request';
import CancelToken from '../../src/cancel/CancelToken';
import isCancel from '../../src/cancel/isCancel';
const task = {
abort: jest.fn(),
};
describe('测试 src/core/request.ts', () => {
it('默认', async () => {
await request({}).catch((err) => {
expect(err.message).toBe('平台适配失败,您需要参阅文档使用自定义适配器手动适配当前平台');
});
});
it('请求失败', async () => {
await request({
adapter({ fail }) {
fail({});
return task;
},
}).catch((err) => {
expect(err.message).toBe('配置不正确或者网络异常');
});
});
it('取消请求', async () => {
await request({
adapter() {
return task;
},
cancelToken: new CancelToken(function executor(c) {
c();
}),
}).catch((err) => expect(isCancel(err)).toBe(true));
});
});