首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何做前端单元测试

必要性:JavaScript 缺少类型检查,编译期间无法定位到错误,单元测试可以帮助你测试多种异常情况。 正确性:测试可以验证代码的正确性,在上线前做到心里有底。...想要使用 import,必须引入 babel 转义支持,通过 babel 进行编译,使其变成 node 的模块化代码 如以下文件改写成 ES6 写法后,运行 npm run test将会报错 ....文件 jest 需要借助 .babelrc 去解析 TypeScript 文件再进行测试 安装依赖 npm install --save-dev @babel/preset-typescript *...*改写 **.babelrc { "presets": ["@babel/preset-env", "@babel/preset-typescript"] } 为了解决编辑器对 jest 断言方法的类型报错.../sum'; test('sum(2, 4) 不等于 5', () => { expect(sum(2, 4)).not.toBe(5); }) .toEqual 匹配器会递归的检查对象所有属性属性值是否相等

3.2K20

如何发布一个 TypeScript 编写的 npm 包

前言在这篇文章中,我们将使用TypeScriptJest从头开始构建和发布一个NPM包。我们将初始化一个项目,设置TypeScript,用Jest编写测试,并将其发布到NPM。...我们将使用jest,因为它简单且好用。npm i -D jest @types/jest ts-jestts-jest包是Jest理解TypeScript所需要的。...确保main属性设置为打包的文件"main": "dist/index.js"。为TypeScript用户添加"types": "dist/index.d.ts"。...运行以下命令:npm publish --dry-run并确保只包括所需的文件。当一切准备就绪时,就可以运行:npm publish测试一下让我们创建一个全新的项目并安装我们的模块。...我们的库提供了一个ESM模块,TypeScript类型,使用jest覆盖测试用例。你可能会认为,这其实一点都不难,的确如此。以上就是本文的所有内容,如果对你有所帮助,欢迎收藏、点赞、转发~

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

前端架构思考,Vue or React?领域设计、文件结构、数据管理、主题替换

功能分开的设计,再通过 setup 做 crud 的分隔,整个页面维度的逻辑会特别清晰 在路由和数据管理上有官方的解决方案,可以完全没有选择的压力 框架本身做了很多的性能优化,如下 静态提升,包括静态节点,静态属性...vue 将很多业务常见的场景(嵌套路由、受保护的页面、导航守卫、路由切换动画、滚动条复位)都在 vuex 和 router 中实现了,开箱即用 Why 主要是为了避免出现以下这些问题 一个文件千八百行,...太长了,需要不断的上下滑动,还看不懂 界限不明确,就会导致混乱,dom 里面写逻辑,逻辑里透出 dom 都是页面的维度,没有领域的概念,缺少一个整体的认知 最佳实践:每个页面不超过 7 个属性和方法,不强求...同样例如页面的加载,错误,重试,正常等各个状态也同样可以在 main 做统一的处理 功能维度 └── plan ├── create // 创建 ├── components /...data; // 把值存在 localStorage,格式 { data: any } export const setLocalStorage = (key: string, data: any)

27730

单元测试

@29.6.3 @testing-library/react@12.1.5 npm i -D @liepin/js-jest4r-fe@beta 若在安装的过程报错,注意以下可能存在的问题: typescript...版本问题,比如typescript版本过低,@typescript-eslint 相关包版本过低 peer依赖版本不匹配问题 配置单测环境 V6工程配置 V6工程目录下执行 npx jest4r setup4project...cnpm包配置 cnpm包目录下执行 npx jest4r setup4package 这将完成以下工作 配置cnpm包下的 jest.config.js 文件 添加测试脚本到 cnpm包下的 package.json...提示 axios.get 是没有 jest 这些类型的,所以会报以下错误: import axios from 'axios'; import Users from '....); // 带上 jest类型提示 mockedGet.mockResolvedValue(resp); // 含有 jest类型提示 jest 单独运行每一个测试用例都可以通过测试,但是当运行一组测试用例时

17810

React背后的工具化体系

Error Code机制实现生产环境错误追踪,DevTools侧面辅助bundle检查;Jest驱动单测,还通过格式化bundle来确认构建结果足够干净;最后通过npm发布新package 整个过程并不十分复杂...标准的相对路径引用,长路径的问题通过重构项目结构来彻底解决,采用扁平化目录结构(同package下最深2级引用,跨package的经Yarn处理以顶层绝对路径引用) Flow + ES Lint Flow负责检查类型错误...,尽早发现类型不匹配的潜在问题,例如: export type ReactElement = { $$typeof: any, type: any, key: any, ref: any, props..._self: React$Element, _shadowChildren: any, _source: Source, }; 除了静态类型声明及检查外,Flow最大的特点是对React...简言之,在prod bundle中把详细的报错信息替换成对应错误码,生产环境捕获到运行时错误就把错误码与上下文信息抛出来,再丢给错误码转换服务还原出完整错误信息。

1.5K20
领券