深入理解Jest中的mock

本文深入探讨了如何在Jest中进行异步函数的模拟测试,包括模拟请求、模拟demo、自动模拟设置以及如何针对异步和同步函数进行不同处理。通过具体的目录结构和代码示例,详细解释了 Jest 的模拟机制,帮助读者理解如何有效地测试异步代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于异步函数的测试,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 => {
   
   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值