封装后的axios如何mock

来源:2-6 Jest 命令行工具的使用

cobain46

2021-06-28

  1. 封装了axios,在services文件夹下,文件名为request.js代码如下
    export const post = (url: string, data: object) => axios.post(url, data, createHeaders()).then(res => res.data),

  2. 然后针对某个模块建立了请求文件ownership.js,代码如下:
    import { get, post } from ‘./request’

interface Ownership {
supplier: string;
propertyId: string;
property: {
ownership: object
};
}
export const updateOwnership = (ownership: Ownership) => post(’/property/ownership’, ownership)

  1. 在组件中,点击save按钮的时候调用updateOwnership,代码如下:
    import { updateOwnership } from ‘…/…/…/…/services/ownership’;
    const saveOwnershipDetail = async ()=>{
    props.setLoadingFlag(true)
    const values = form.getFieldsValue()
    try {
    const res = await post(’/property/ownership’,{supplier: ‘MGM’,propertyId: ‘m11’,property: {ownership: values}})
    }catch (error) {
    return error
    }

在unit test文件中,怎么mock掉这个封装了2层的请求?

写回答

1回答

Dell

2021-06-29

你不用管封装几层,mock 一个post 函数,把最终的结果数据给带回来就行了

0
0

前端要学的测试课 从Jest入门到 TDD/BDD双实战

自动化测试实战 Vue / React 项目,让技术水平和架构思维双提升

1433 学习 · 350 问题

查看课程