美文网首页
09|mock深入学习

09|mock深入学习

作者: 雪燃归来 | 来源:发表于2020-05-24 14:48 被阅读0次

一、之前用的mock行为

//demo.js
import axios from 'axios'
export const fetData = () => {
    return axios.get('/').then(res => res.data)
}

//demo.test.js
import { fetData } from './demo'
import axios from 'axios'
jest.mock('axios')
test('fetchData 测试', () => {
    axios.get.mockResolvedValue({
        data: '(function(){return "123"})()'
    })
    return fetData().then(data => {
        expect(eval(data)).toEqual('123')
    })
})

二、编写mock文件,替代真实的=异步请求代码

//__mocks__/demo.js
export const fetData = () => {
    return new Promise((resolved, reject) => {
        resolved('(function(){return "123"})()')
    })
} 
// demo.js
import axios from 'axios'
export const fetData = () => {
    return axios.get('/').then(res => res.data)
} 
//demo.test.js
jest.mock('./demo')
import { fetData } from './demo'
test('fetchData 测试', () => {
    return fetData().then(data => {
        expect(eval(data)).toEqual('123')
    })
})

三、取消mock和自动mock

jest.unmock('./demo')
// jest.config.js
//   automock: false,

四、在mock的设置下访问真实的文件

//__mocks__/demo.js
export const fetData = () => {
    return new Promise((resolved, reject) => {
        resolved('(function(){return "123"})()')
    })
} 

// demo.js
import axios from 'axios'
export const fetData = () => {
    return axios.get('/').then(res => res.data)
} 
export const getNumber = () => {
    return 123
}

//demo.test.js
jest.mock('./demo')
import { fetData } from './demo'
const { getNumber } = jest.requireActual('./demo')
test('fetchData 测试', () => {
    return fetData().then(data => {
        expect(eval(data)).toEqual('123')
    })
})
test('getNumber 测试', () => {
    expect(getNumber()).toEqual(123)
})

相关文章

  • 09|mock深入学习

    一、之前用的mock行为 二、编写mock文件,替代真实的=异步请求代码 三、取消mock和自动mock 四、在m...

  • openstack测试之mock学习

    mock 模块学习 mock是什么 mock英文意思是模拟,主要是功能是使用mock对象来指定python对象,以...

  • mock.js深入

    1.Mock.mock( template )根据数据模板生成模拟数据。(具体语法见mock.js入门) 2.Mo...

  • 2017/01/13

    今天学习了mock.js里的一些方法,总结如下: 必须引用mock.js源码,然后var Mock = requi...

  • 测试总结——python mock基本使用

    内容是从网上转的,总结了一下,特别适合刚开始学习编写mock挡板 什么是mock? mock在翻译过来有模拟的意思...

  • Mock简明文档

    Mock简明文档 Mock.mock() Mock.mock( requestUrl?, requestType?...

  • mockjs

    https://github.com/nuysoft/Mock/wiki/Mock.mock() 常用方法Mock...

  • 使用 Mockjs 模拟数据

    Mock 数据 Mock 在 vue 中的使用 使用npm下载mock 2.使用 mock 在 mock 文件夹下...

  • 2022-01-06 个人心得和扩展mock高级应用

    这2天没有接口,于是学习了下mock用法,2天归纳出来的自己学习掌握的经验,也解决了mock再语法上对数组的嵌套不...

  • Moco接口框架学习(http协议)

    1.简介 mock用来模拟接口的,本次学习mock用的是moco框架,moco框架是github上的一个开源项目,...

网友评论

      本文标题:09|mock深入学习

      本文链接:https://www.haomeiwen.com/subject/akxjahtx.html