Day 2 我要开始学了

Hi 大家好~ 在这边平常我列出我最近想学跟正在学的一些技术

  1. React Testing Library
  2. Cypress(如果有时间摸的话)

虽然写程序大家可能会做Error First的例外处理,但假如没有做的话,会不会有时候会因为input的资料导致功能产生错误的结果,但有时候也会不爽的就是更改功能或元件测试就不会过拉,这时候就要解决问题把测试案例砍掉XDDD.

言归正传写测试不仅是可以确保当统一的测试案例进来我们的功能还能正确地执行,当有错误可能是别人的问题A_A可以丢包给别人.啊为什麽我想学写测试是因为以前的公司有导入测试(jest, enzyme),但是我一直没真正好好的学,而且CRA(Create-React-App)都内建了就是说建议你学了!到底要不要学?学啊.所以想趁这次机会好好的研究测试,前端测试主要是分为三种测试,分别是单元测试(Unit Tests)、整合测试(Integration Tests)、端对端测试(End-To-End Tests).

单元测试(Unit Tests)

Jest

先从元件的最基础的单元测试开始,此部分会专注於程序的最基础,功能(functions)、元件类别(classes)做测试.且单元测试是针对独立(independent)的单一元件做隔离(Isolation)测试并不会对其他元件有相依性的问题.仅需要针对output是否为expect(预期)的结果来当作验证结果.

整合测试(Integration Tests)

React Testing Library、Enzyme

这部分就会牵扯到两个以上的元件或功能互相影响,举例来说可能需要Mock Data来当作render DOM的资料依据,或者是元件需要与context、redux之类的store做资料的汇流,因此同时需要reducer的资料整理以及component 渲染出的dom资料画面是否为正确的,在这方面因涉及的元件相较於单元测试牵扯更广,因此需要花更多时间除错.

端对端测试(Ene To End Tests)

Cypress、Puppeteer、Selenium

这部分测试是最昂贵也是最复杂的,大家可以看我上面贴的测试金字塔,由下而上,所花的时间与金钱都是网上递增,但E2E测试是真正模拟使用者使用浏览器行为的模拟测试,例如使用者点了什麽连结连到哪个页面等等


<<:  DAY2:离职率预测(上)

>>:  Day2 什麽!?原来实境还有那麽多种?跟AR又有哪些差异勒?(开始杀史莱姆刷经验的萌新)

Day 10 : 用於生产的机械学习 - Data Define 与建立基准

接续介绍 ML 专案生命周期,本日说明第 2 阶段「资料 Data」的工作流程,依其说法分为2大步...

Day17边框(CSS)

Border 边框样式 今天来介绍个基本的边框 <p class="solid &q...

[Tableau Public] day 2:认识 tableau public & 下载安装

日子来到了第二天,我们先去 tableau public 的官网看看吧! 注册帐号跟下载程序这两件事...

Day 29 - Vanilla JS Countdown Timer

前言 JS 30 是由加拿大的全端工程师 Wes Bos 免费提供的 JavaScript 简单应用...

#17. Image Carousel(原生JS版)

今天要分享的专案是照片轮播UI,也就是俗称的Carousel。 Carousel可以框架实现,像是B...