Jest 是一个前面测试框架,它能够机构运行功能测试,同时提供了 mock、肯定等 api。
例如那样:
这也是 nest 运用的一段测试程序,在 beforeEach 里边进行了复位逻辑性,在每一个 describe 里写不一样测试逻辑性。
这种测试程序在运用中有许多。
键入 jest 便会实行每一个测试程序:
仅仅只是想逃某一测试文件的测试用例呢?
要这样:
jest 后边再加上要跑得测试文件的路线就可以了。
那么如果测试文件内有好几个功能测试,想只跑某一功能测试呢?
例如这三个功能测试:
能通过 -t 来特定:
-t 是 --testNamePattern 的简称,能够特定要跑得测试用例位的正则匹配。
jest 只会跑相匹配的测试用例:
知道 jest 测试用例怎么跑,那有时候我们想断点调试它该怎么办呢?
node 调节都在 .vscode/launch.json 中放一个调节配备:
之后在 debug 控制面板点一下启动调试:
那跑 jest 怎么跑呢?
其实大家跑 jest 最后实行是指 node_modules/jest/bin/jest.js 这一文档,因此调节时就直接使用 node 跑这一文档,传入参数就可以了。
还需要特定日志导出部位为内置终端设备,其实就是 console 为 integratedTerminal。
打一个中断点,点击调节按键:
但不得不承认它溜了好几个 woker 过程,每一个测试用例一个,这也是 jest 提升特性的方法。
但调节的时候也可以无需这类提升,立即在过程跑就可以了。
能够加一个 -i 参数值:
-i 是 --runInBand 的简称,这一主要参数的意思就是不会再用 worker 过程并行处理跑功能测试,反而是在目前过程串行通信跑:
看左边的调用栈,显著能看出来差别来:
假如我们只想要调节 root2 这一功能测试,那么就可以再加上相对应的主要参数:
再加上文件夹名称和测试用例名。
不过这样每调节一个测试用例都要改下配备也太费劲了,能否我打开了哪一个文档,就跑了哪一个文件信息测试用例呢?
没问题的。
VSCode 调节配备适用自变量,例如 ${file} 就表明当前文件。
奔跑起来能够看见,目标文件夹是正确的:
这样就能开启哪一个调节那个了。
那想特定具体功能测试呢?
vscode 还提供了键入类别的自变量。
在 inputs 一部分申明一个输入自变量,特定叙述信息内容、初始值。之后在调节配备一部分根据 ${input:用户标识符} 引入:
奔跑起来就是这个样子:
键入哪一个测试用例的名称就跑了哪一个测试用例。
那样,就一个调节配备来调节随意功能测试了!
可能很多人使用过 Jest Runner 等 VSCode 软件:
它会在每一个功能测试边上加一个高效运行调节的按键:
基本原理就容易明白了,点一下不同部位的 debug,便是获得文件夹名称和测试用例名传到调节配备。
这类软件是蛮便捷,可是过于黑盒子,出现了问题难以处理,还不如自己写调节配备,各种各样 jest 运作参数值都能够自身加。
并且调节配备能够写得很灵便,例如 -t 后边适用正则匹配,那 root、root2、root3 这三个测试用例想逃后2个,我们完全可以键入 root\d 来配对。
用那一个 jest 的软件可以么?显著不可以。
汇总
Jest 适用跑所有的功能测试,或是跑指定文件特定姓名的测试用例,在 VSCode 里能通过 node 调节的方式去调节。
根据调节配备的内嵌自变量及其输入自变量,能够达到一个调节配备调节随意文档随意用例的实际效果。
对比第三方的 Jest 软件,自己写调节配备显著灵便、强劲得多。
本站是一个以CSS、JavaScript、Vue、HTML为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以寻找你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!大量调节技术性,能够看我的小册《前端调试通关秘籍》