来到测试的尾声,来把前面所学的整理一下吧!
First Step => 要进行测试,我们势必要有东西给它测试,而且也要有可以进行测试的套件
利用以下指令来建立专案
npx create-react-app 专案名称
执行以下指令来安装Jest
npm install --save-dev jest
再来执行以下指令来安装Enzyme (目前官方react版本17尚未支援Enzyme,但可以安装非官方版本的Enzmye来搭配版本17)
npm install --save-dev enzyme jest-enzyme enzyme-adapter-react-16/@wojtekmaj/enzyme-adapter-react-17
安装其他刻划版面时会用到的套件 (bootstrap or fontawesome..等等)
Second Step => 安装完所有我们所需的套件後,将渲染和取得元素写成共用的function以便每次单元测试使用
透过Shallow渲染 : 参数放要渲染的Component
const setup=()=>shallow(<App/>);
取得DOM : wrapper传入的是被渲染的Component,value则是data-test属性的值
const findByTestAttribute=(wrapper,value)=>wrapper.find(`[data-test='${value}']`);
Third Step => 透过共用function setup 渲染出Component後,利用共用function findByTestAttribute去寻找DOM,且透过Enzyme的API去针对DOM做测试 (ex: text(),isEmpty()等等)
Last Step => 透过上述完成单元测试後进行存档,执行npm test 就可以看看测试是否成功罗 !
先前有提到写测试的目的是为了要测试APP应该要做什麽,而不是APP是怎麽运行的
这句话的意思是我们应该要去看APP做什麽事情出来的结果是不是正确的 (我们要先想好结果为何)
而不是去照着APP运行写测试。
重点
以上!! 统整完毕~ 下一篇要来补充React Class Component的生命周期 ,再来还会有Function Component的Hook生命周期、Redux补充、React Query补充、
小菜鸟本身踩到的小地雷补充...等等的
那我们就下一篇见啦~ (〜^∇^)〜
<<: [Day11] Face Detection - 使用OpenCV & Dlib:Dlib HOG + Linear SVM
>>: Day12: GuardDuty单一帐号/Org.布建、测试结果产生
今天我们继续介绍一些比较知名的AI作曲的公司/软件。 Jukedeck Jukedeck可以说是AI...
前言 要读取 .pkl 档,结果遇到各种状况,在网路上查了许多资料後终於解决了! 在这边简单做个过程...
昨天我们说到 Service Container 是一个地方绑定你类别如何产生出来,或者是你想将 i...
火烧起来怎麽办? 当你听到手机有叮咚叮咚,一连串的alert表示服务已无法继续服务,几分钟後电话来了...
去年(2018)通过CISSP考试後,觉得CISSP在 资讯安全治理 及 风险管理 的领域谈得不够...