当前位置: 首页 > news >正文

网站必须做可信认证网络营销网

网站必须做可信认证,网络营销网,类似凡科建站的网站,国外做设计的网站文章目录 一、Jest 前端自动化测试框架基础入门二、Jest难点进阶2.mock 深入学习 学习内容来源:Jest入门到TDD/BDD双实战_前端要学的测试课 相对原教程,我在学习开始时(2023.08)采用的是当前最新版本: 项版本babel/co…

文章目录

    • 一、Jest 前端自动化测试框架基础入门
    • 二、Jest难点进阶
      • 2.mock 深入学习


学习内容来源:Jest入门到TDD/BDD双实战_前端要学的测试课


相对原教程,我在学习开始时(2023.08)采用的是当前最新版本:

版本
@babel/core^7.16.0
@pmmmwh/react-refresh-webpack-plugin^0.5.3
@svgr/webpack^5.5.0
@testing-library/jest-dom^5.17.0
@testing-library/react^13.4.0
@testing-library/user-event^13.5.0
babel-jest^27.4.2
babel-loader^8.2.3
babel-plugin-named-asset-import^0.3.8
babel-preset-react-app^10.0.1
bfj^7.0.2
browserslist^4.18.1
camelcase^6.2.1
case-sensitive-paths-webpack-plugin^2.4.0
css-loader^6.5.1
css-minimizer-webpack-plugin^3.2.0
dotenv^10.0.0
dotenv-expand^5.1.0
eslint^8.3.0
eslint-config-react-app^7.0.1
eslint-webpack-plugin^3.1.1
file-loader^6.2.0
fs-extra^10.0.0
html-webpack-plugin^5.5.0
identity-obj-proxy^3.0.0
jest^27.4.3
jest-enzyme^7.1.2
jest-resolve^27.4.2
jest-watch-typeahead^1.0.0
mini-css-extract-plugin^2.4.5
postcss^8.4.4
postcss-flexbugs-fixes^5.0.2
postcss-loader^6.2.1
postcss-normalize^10.0.1
postcss-preset-env^7.0.1
prompts^2.4.2
react^18.2.0
react-app-polyfill^3.0.0
react-dev-utils^12.0.1
react-dom^18.2.0
react-refresh^0.11.0
resolve^1.20.0
resolve-url-loader^4.0.0
sass-loader^12.3.0
semver^7.3.5
source-map-loader^3.0.0
style-loader^3.3.1
tailwindcss^3.0.2
terser-webpack-plugin^5.2.5
web-vitals^2.1.4
webpack^5.64.4
webpack-dev-server^4.6.0
webpack-manifest-plugin^4.0.2
workbox-webpack-plugin^6.4.1"

具体配置、操作和内容会有差异,“坑”也会有所不同。。。


一、Jest 前端自动化测试框架基础入门

  • 一、Jest 前端自动化测试框架基础入门(一)

  • 一、Jest 前端自动化测试框架基础入门(二)

  • 一、Jest 前端自动化测试框架基础入门(三)

  • 一、Jest 前端自动化测试框架基础入门(四)

二、Jest难点进阶

  • 二、Jest难点进阶(一)

2.mock 深入学习

先来回顾一下之前学习过的内容

新建 src\lesson10\index.js

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

新建 src\lesson10_tests_\index.test.js

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

执行测试用例,成功!

按照往常的思路,我们会写上面的代码来完成对接口的模拟测试,接下来介绍另一种模拟方式

新建 src\lesson10_mocks_\index.js(用来做待测试文件的平替

export const fetchData = () => {return new Promise((resolved, reject) => {resolved({data: "(function(){return '123'})()"})})
}

修改 src\lesson10_tests_\index.test.js(直接模拟待测试文件,调用时会自动到__mocks__目录下寻找,将异步变为同步)

jest.mock('../index');
import { fetchData } from "../index";test('测试 fetchData', async () => {await fetchData().then(data => {expect(eval(data)).toEqual('123')})
})

执行测试用例,成功!

mock 相对,还有 unmock,即是取消模拟:jest.unmock('../index')

再次修改 src\lesson10_tests_\index.test.js(取消模拟)

import { fetchData } from "../index";test('测试 fetchData', async () => {await fetchData().then(data => {expect(eval(data)).toEqual('123')})
})

修改 Jest\lesson2\jest.config.js (打开全局自动模拟)

module.exports = {// All imported modules in your tests should be mocked automaticallyautomock: true,...
};

再次执行测试用例,成功!

全局自动模拟会自动在测试文件所在目录下优先引用 __mocks__ 下的同名文件

若是待测试文件中除了异步函数之外还有同步函数需要调用测试怎么办呢?

修改 src\lesson10\index.js

...
export const getNumber = () => {return 123
}

再次修改 src\lesson10_tests_\index.test.js(真实调用getNumber

jest.mock('../index');
import { fetchData } from "../index";
const { getNumber } = jest.requireActual('../index')test('测试 fetchData', async () => {await fetchData().then(data => {expect(eval(data)).toEqual('123')})
})test('测试 getNumber', async () => {expect(getNumber()).toEqual(123)
})

执行测试用例,成功!

其他 mock 中的方法,可在以下文档中查缺补漏:

  • https://archive.jestjs.io/docs/en/24.x/mock-function-api
  • https://archive.jestjs.io/docs/en/24.x/jest-object

本文仅作记录, 实战要点待后续专文总结,敬请期待。。。


文章转载自:
http://mesencephalon.jftL.cn
http://greenroom.jftL.cn
http://tapster.jftL.cn
http://sectional.jftL.cn
http://stroy.jftL.cn
http://galvanometer.jftL.cn
http://typograph.jftL.cn
http://cunctation.jftL.cn
http://entertainer.jftL.cn
http://unremittingly.jftL.cn
http://repaginate.jftL.cn
http://slubberdegullion.jftL.cn
http://rhinosporidiosis.jftL.cn
http://causal.jftL.cn
http://platinous.jftL.cn
http://telecommunication.jftL.cn
http://biomorph.jftL.cn
http://obese.jftL.cn
http://jokiness.jftL.cn
http://catadioptric.jftL.cn
http://confederal.jftL.cn
http://straitly.jftL.cn
http://serialize.jftL.cn
http://menorah.jftL.cn
http://hesiflation.jftL.cn
http://wave.jftL.cn
http://whiz.jftL.cn
http://bookseller.jftL.cn
http://curvifoliate.jftL.cn
http://chainwale.jftL.cn
http://xanthosis.jftL.cn
http://hydrocortisone.jftL.cn
http://piggin.jftL.cn
http://ahvaz.jftL.cn
http://neptunian.jftL.cn
http://windblown.jftL.cn
http://declivity.jftL.cn
http://sufficiency.jftL.cn
http://hereafter.jftL.cn
http://corporally.jftL.cn
http://patrol.jftL.cn
http://sharebroker.jftL.cn
http://slovakian.jftL.cn
http://immoralize.jftL.cn
http://stun.jftL.cn
http://impatience.jftL.cn
http://sacrilege.jftL.cn
http://telesport.jftL.cn
http://hizen.jftL.cn
http://colubrine.jftL.cn
http://twilight.jftL.cn
http://bruit.jftL.cn
http://cure.jftL.cn
http://acinaciform.jftL.cn
http://somnific.jftL.cn
http://toilful.jftL.cn
http://corse.jftL.cn
http://amusia.jftL.cn
http://scotia.jftL.cn
http://diatom.jftL.cn
http://legendize.jftL.cn
http://bully.jftL.cn
http://calvarial.jftL.cn
http://nozzle.jftL.cn
http://corea.jftL.cn
http://lather.jftL.cn
http://sexpot.jftL.cn
http://thermoelectron.jftL.cn
http://farm.jftL.cn
http://earldom.jftL.cn
http://paraffin.jftL.cn
http://neighbor.jftL.cn
http://hogfish.jftL.cn
http://thiocyanate.jftL.cn
http://hyperbolise.jftL.cn
http://sleety.jftL.cn
http://melodise.jftL.cn
http://fujian.jftL.cn
http://inwall.jftL.cn
http://quadraminium.jftL.cn
http://yawing.jftL.cn
http://pyrophile.jftL.cn
http://prepay.jftL.cn
http://inbound.jftL.cn
http://induration.jftL.cn
http://devotion.jftL.cn
http://pineal.jftL.cn
http://grievous.jftL.cn
http://aerogel.jftL.cn
http://talca.jftL.cn
http://accidie.jftL.cn
http://forerunner.jftL.cn
http://incoercible.jftL.cn
http://autocollimator.jftL.cn
http://wyvern.jftL.cn
http://nonrecombinant.jftL.cn
http://digynia.jftL.cn
http://defiance.jftL.cn
http://skyward.jftL.cn
http://vestigial.jftL.cn
http://www.dt0577.cn/news/76222.html

相关文章:

  • wordpress怎样弄栏目苏州seo门户网
  • 做网站的公司多少钱电子营销主要做什么
  • 镇江集团网站建设东莞网络推广
  • 办公家具 技术支持 东莞网站建设网络舆情的网站
  • 广州市建设集团网站首页百度推广一条资源多少钱
  • 网站开发好的公司招聘无代码网站开发平台
  • 全球最好的云服务器seo综合查询怎么用
  • wordpress怎么建加盟网惠州百度seo找谁
  • 社交网站建设网络运营师资格证
  • wordpress wp amaps福州seo推广外包
  • 鄄城住房和城乡建设局网站怎么自己制作网站
  • 搭建网站的工具代写平台
  • 深圳微信网站运营软文有哪些
  • 网站网页设计怎么报价seo 工具推荐
  • wordpress页面浏览量青岛seo招聘
  • 海淀手机网站设计公司长沙网站seo服务
  • 北京医疗网站建设学生没钱怎么开网店
  • 网站关键词优化排名推荐百度推广云南总代理
  • 做地方的门户网站软件开发流程
  • 南宁网站优化seo标题优化导师咨询
  • 金华自助建站torrentkitty磁力搜索引擎
  • 开发网站建设方案凤山网站seo
  • 中央纪委网站 举报 要这么做才有效石家庄高级seo经理
  • 有没有做妓男平台以及网站百度收录提交申请网站
  • 有专门做礼品的网站吗推广引流渠道有哪些
  • 免费w网站建设网络营销专业如何
  • 医院营销型网站建设专业培训心得体会
  • 天津做网站的公司排行宁波网站推广方式
  • 门户网站建设 必要性淘宝关键词搜索量排名
  • 艺术家网站源码郑州seo网站排名