对于异步函数的测试,Jest中封装了独立的API,通过例子整理分类如下。
1.模拟请求
目录结构:
|--demo.js
|--demo.test.js
|--package-lock.json
|--package.json
|--node_modules
|--.babelrc
业务代码:demo.js
import axios from 'axios'
export const fetchData = () => {
return axios.get('/').then(res => res.data)
}
测试代码:demo.test.js
import {
fetchData } from './demo'
import Axios from 'axios'
jest.mock('axios') // 模拟axios
test('fetchData 测试', () => {
// 模拟请求
Axios.get.mockResolvedValue({
data: "(function(){return '123'})()"
})
return fetchData().then(data => {