前端实现Jest单元测试

简介: 前端实现Jest单元测试

介绍


       最近在学一些关于工程化的内容,里面正好提到了jest单元测试,首先简单理解一下什么是单元测试,举个例子:


       小明同学偶然发现海海同学做的组件库不错,想学习一下,于是就拉了代码,不过在看代码的过程中发现有的代码有更优性能的方法,但是呢他自己也不确定性能是否更好,那这种情况怎么办呢,这时候就可以用到我们的单元测试了。


应用场景


       单元测试的应用场景只有上面这种情况吗?


       当然不止了,我们在项目开发中如何保证自己代码的准确性呢?


靠自己的经验吗?还是靠自己的手动测试呢?即便如此,如何保证手动测试的完整性呢?


       当然,单元测试不是必须的,毕竟不是还有我们的测试同学吗。


第一个单元测试


   接下来我们完成一个最简单的单元测试,首先还是先新建一个项目,使用 npm init 然后新建一个server.js文件


npm init 


c986da0e58a14b5890e6020eb7459866.png


接下来我们可以全局安装我们的jest


npm i jest -g

f3b18314d7204b64a19e41849ca0e617.png


首先在我们server里面写一段代码

const server =(a,b)=>a * b
module.exports=server


简单解释一下就是我们先新建一个函数serve 然后导出


如果说我们之前的方法进行测试的话,那我们就是这样


208ec387e1474cf894ff4b276e4f85da.png


1.单元测试


 首先我们可以先创建一个test文件夹,然后创建我们的server.test.js文件作为我们的测试文件

a6dd4e3f5aef44ddba7644eff9c15fbc.png


然后写我们的测试用例


首先我们引入我们需要测试的文件server


const server = require('../server')


然后就写我们的第一个测试用例describe


我们的describe第一部分是他的描述部分,因为我们的describe是我们的测试单元


693bf706d576478aa3eca0ec5bad5499.png


我们在测试单元下可以写入多个测试项,我们的第一个测试项(test)中第一部分跟上面describe一样,第一个相当于一个提示,第二个函数里面执行断言,断言的意思就是判断输出的内容是否正确,expect就是输出的内容,我们的toBe就是我们期待的结果,如果成立即代表测试用例通过


67758c65e5ac477099e7fb480d54629f.png


到这一步就可以进行测试


我们只需要在项目下输入jest运行即可


a33d0f09fdfd435abaffca1972faac43.png


这里可以来逐步分析,


Test Suites


首先我们的Test  Suites代表着有一个测试单元通过了,


Tests


代表着有两个测试项通过


到这里就代表我们的第一个单元测试完成了。



相关文章
|
1月前
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
16天前
|
前端开发 JavaScript 测试技术
前端自动化测试
前端自动化测试是通过使用工具和脚本自动执行测试用例的过程,旨在提高测试效率、减少人为错误,并确保Web应用的功能在不同环境和设备上的一致性与稳定性。
|
24天前
|
JavaScript 安全 编译器
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
37 6
|
1月前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
50 4
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
1月前
|
前端开发 数据管理 测试技术
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第27天】本文介绍了前端自动化测试中Jest和Cypress的实战应用与最佳实践。Jest适合React应用的单元测试和快照测试,Cypress则擅长端到端测试,模拟用户交互。通过结合使用这两种工具,可以有效提升代码质量和开发效率。最佳实践包括单元测试与集成测试结合、快照测试、并行执行、代码覆盖率分析、测试环境管理和测试数据管理。
57 2
|
1月前
|
JavaScript 测试技术 API
Jest进阶:测试 Vue 组件
Jest进阶:测试 Vue 组件
|
1月前
|
前端开发 JavaScript 数据可视化
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第26天】前端自动化测试在现代软件开发中至关重要,Jest和Cypress分别是单元测试和端到端测试的流行工具。本文通过解答一系列问题,介绍Jest与Cypress的实战应用与最佳实践,帮助开发者提高测试效率和代码质量。
40 2
|
1月前
|
前端开发 JavaScript 测试技术
React 模拟测试与 Jest
【10月更文挑战第21天】本文介绍了如何使用 Jest 进行 React 组件的单元测试和模拟测试,涵盖了基础概念、常见问题及解决方案,并提供了实践案例。通过学习本文,你将掌握如何有效地使用 Jest 提高代码质量和稳定性。
59 1
|
2月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
117 1