如何使用 `Cypress` 进行端到端测试

简介cypress 是一个端到端(end to end)测试框架。它基于mocha式 API ,提供一整套端到端测试的解决方案,无需再安装其他的测试库,对webpack友好,并提供一套强大的图形界面工具,语法简单符合直觉,上手容易。测试浏览器基于Chrome或者Chrome的变种浏览器,比如electron、Chromium     阅读全文
Pang Jian's avatar
Pang Jian 5月 17, 2019

写给后端开发者看的 Vue 前端介绍(二)-- 单元测试

上一篇“基础篇”聊到了一些Vue、Nodejs、Webpack的基本概念。本篇将着重讲解 Vue前端工程如何做单元测试。学习一个新技术,必须要清楚两个W,”What && Why”。”XX 是什么?”,”为什么要使用 XX ,或者说 XX 有什么好处”,最后才是”XX 怎么使用”。本文也将从“前端单元测试是什么”、“为什么要做单元测试”进行讨论。 前端单元测试是什么? 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。——百度百科     阅读全文
Pang Jian's avatar
Pang Jian 1月 12, 2018

TiD 大会感想之浅谈前端工具化与工程化

今年有幸参加了一天的质量竞争力大会,众多的课程当中,无法分身的我听了其中两节。分别是“终端重构之旅”以及“微服务下的持续交付”。由于“终端重构之旅”涉及硬件终端,与我们平时工作相距较远,所以本文着重谈谈对“微服务下的持续交付”的感想。 微服务下的持续交付微服务(Micro Service)是一种将复杂的业务逻辑拆分成多个高度自制的独立系统的架构设计。微服务为构建可扩展、可维护的大规模服务集群带来了很大的便利。持续交付:交付是指将最终产品发布到线上环境,给用户使用。持续交付就是指在软件开发过程中,从需求识别到交付的过程中,总是能够以较短的周期完成需求的小粒度频繁交付。频繁的交付带来了对软件更迅速的反馈,相比于传统的模式,有着更少的浪费。来自ThoughtWorks的两位讲师,利用一个简单的电商需求,演示了如何使用微服务来完成需求,并且将微服务做到持续交付。介绍了从构建、测试、部署到环境监控分析等一整套工具链。我认为要做到持续交付很重要的一点一定是要做到工程的工具化以及工程化。虽然网银还未做到微服务化,但是网银目前的前后端分离架构也有着许多微服务的特点。也急需进行工具化和工程化。前期一直在进行新一代前端框架的预研,很多思路与讲师产生了共鸣。针对我自己的理解和实践介绍一下前端的工具化与、工程化。     阅读全文
Pang Jian's avatar
Pang Jian 7月 31, 2017

写给后端开发者看的 Vue 前端介绍(一)-- 基础篇

不懂“前端 er”说的 virtual dom、React、Angular、Vue,也不懂 ES6 为什么就这么优雅,更不知道为什么用 Bootst...     阅读全文
Pang Jian's avatar
Pang Jian 4月 05, 2017

迈向 PWA!利用 serviceworker 的离线访问模式

微信小程序来了,可以利用WEB技术在微信打造一个有着Native应用体验的应用,业界非常看好这种形式。但是你们也许不知道,Google早已有类似的规划,甚至层次更高。那就是PWA(渐进式增强WEB应用)。PWA有以下几种特性: Installablity(可安装性) App Shell Offline(离线能力) Re-engageable(推送通知能力) 所有这些特性都是“优雅降级、渐进增强的”,给支持的设备更好的体验,不支持的设备也不会更差。这就和微信小程序这种二流设计的根本不同之处。     阅读全文
Pang Jian's avatar
Pang Jian 2月 08, 2017

使用 Pjax 优化你的网站

Ajax(Asynchronous Javascript and XML)的魅力在于它的每一个成员都不是新技术,经过奇妙的结合却掀起了WEB2.0的革命。Pjax是pushState和ajax的封装,同样每一个都算不上新技术,结合起来却有着神奇的效果。     阅读全文
Pang Jian's avatar
Pang Jian 12月 03, 2015

javascript 前后端代码复用 -browserify

Nodejs将javascript带上了一个新的高度,让之运行于浏览器端的javascript可以运行在服务器端。但是Nodejs遵循Commonjs规范,不能直接运行在浏览器端。虽然是同一种语言,但是前后端有着自己的库,不能复用真是一种浪费。这时候一个神器出现了,Browserify。通过预编译,可以将Commonjs规范的后端Nodejs代码直接可以运行在浏览器端。打通了端后端代码复用的壁垒,为nodejs程序开辟了一片新天地。     阅读全文
Pang Jian's avatar
Pang Jian 11月 18, 2015

不用 cookie 我也能追踪你!

抱歉起了这么个“吸引人的”标题,但我不是标题党。最近由于工作上的一些事情,涉及到识别、追踪设备的项目来了几个,从一篇论文《The Web Never Forgets》无意间又发现了这个技术。查阅了一些资料。做了个小Demo应用到了本博客上。对!你没听错,本页面在追踪你。不过也没那么可怕。看看本站的Visitor Info模块,它可能在屏幕右侧也可能在最底下。这个模块会知道你是否之前访问过本站,并且结合了上一篇博文基于Firebase的Hexo博客实时访问数统计中提到的访问数统计,做到了记录每一位访问者的访问次数。即使你关闭了cookie。^ _ ^     阅读全文
Pang Jian's avatar
Pang Jian 3月 09, 2015