当你拿到十五年前的一堆javascript的代码,你如何对这堆javascript代码写单元测试呢?于是就有了这篇文章. 注意:不需要装任何现代化js框架,包括angular,react,vue之类的,都不需要装!!! 先要安装nodejs 直接cmd进入js所在的目录 通过 npm 安装karma: npm install --save-dev karma 通过如下命令确认karma安装成功 node ./node_modules/karma/bin/karma --version globa…
Lodop模版有两种方法,一种是传统的JS语句,可以用JS方法里的eval来执行,一种是文档式模版,是特殊格式的base64码,此篇博文介绍传统JS模版的生成方法.两种模版都可以存入一下地方进行调用,比如数据库等. JS传统模版,文档式模版生成.加载.赋值,可查看本博客相关汇总博文索引:Lodop的JS模版代码.文档式模版 生成加载赋值博文索引 本文介绍的是如何获取JS传统模版,也就是打印设计的JS语句的代码,获取的是初始化和打印项内容,不包含最后的打印或预览,使用模版的时候可以决定是直接打印还…
1. 关于Karma Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner). 该工具可用于测试所有主流Web浏览器,也可集成到CI(Continuous integration). 这个测试工具的一个强大特性就是,它可以监控(Watch)文件的变化,然后自行执行,通过console.log显示测试结果. 2. Karma集成Jasmine进行单元测试 a.初始化 NPM 实现初始化 NPM 包管理,创建 package.json 项目管理文件.…
互联网的快速发展,给web开发人员带来了前所未有的挑战.对于前端开发,前端开发er所需要编写的js早已不是那些寥寥几行的视觉效果代码.代码量的大增,多人协同,人员素质悬殊不齐,这都需要一个标准,来对代码的规范性进行控制.Jasmine作为一个前端团队使用的测试框架,便运应而生. 1.jasmine简介 jasmine是一个用来编写Javascript测试的框架,它不依赖于任何其它的javascript框架.它有拥有灵巧而明确的语法可以让你轻松的编写测试代码.目前最新的版本为2.0.0. 在jas…
一.从定义文件格式方面说 1.传统的开发模式可以定义js文件或者jsx文件2.利用ts开发定义的文件格式tsx二.定义state的状态来说 1.传统的方式直接在构造函数中使用 constructor(){ this.state = { num1:10 } } 2.使用ts开发过程中需要先定义一个接口,规范数据类型,通过泛型传入到类中 //定义一个接口规范state的类型 export interface State{ num1:number } // 默认导出一个Hello类,如果Compone…
Karma Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner).该工具在Vue中的主要作用是将项目运行在各种主流Web浏览器进行测试.换句话说,它是一个测试工具,能让你的代码在浏览器环境下测试.需要它的原因在于,你的代码可能是设计在浏览器端执行的,在node环境下测试可能有些bug暴露不出来:另外,浏览器有兼容问题,karma提供了手段让你的代码自动在多个浏览器(chrome,firefox,ie等)环境下运行.如果你的代码只会运行在node端…
在 GearCase 开源项目 中,我使用了 Vue Cli 的默认测试框架.因此和样式相关的东西,都无法进行测试.因为它并不类似于无头浏览器,而是存在于虚拟内存之中. 现状 在如下 button.spec.js 单元测试用例当中,关于 icon 默认的 order 的测试用例无法进行测试,因为它涉及到了样式.前面已经提到由于它处于虚拟内存之中.因此只要进行单元测试,就会出现以下报错. // 样式相关的测试用例 it('icon 默认的 order 是 1', () => { const wra…
Mocha是一个功能丰富的JavaScript测试框架,运行在node.js平台和浏览器端,使异步测试变得简单和有趣.Mocha测试是串行的,允许灵活和准确的报告,同时将未捕获的异常映射到相应的测试用例上.官网地址:https://mochajs.org ,项目代码目前托管在GitHub上 https://github.com/mochajs/mocha 安装 npm install mocha 快速体验demo var assert = require('assert');//以下是bdd的接…
Angular1距离2009年发布已经好多年了,Angular2也已经出了Beta版,估计今年就能正式发布.大多数人对于Angular1.X的认识仅限于能够在项目中使用,对于其中的深层原理知道的并不多.市面上也没有特别好的介绍Angular实现原理的教程或者书籍.今天在看技术文档的时候偶然发现了一本比较好的Angular底层原理书籍<build your own AngularJS>,费了好大功夫买下了全本,随之开始了Angular1.X的底层实现的探索之旅.本系列文章会按照书中的章节,每一章…
第一章:压缩js(nodejs,uglify) 第一步:安装nodejs环境 直接下载http://www.nodejs.org/download/ 下载完成后直接下一步下一步即可,完了我们就具有nodeJS环境了 以下几步都有点忘了,下次试试吧: 第二步:新建一个package.json文件和Gruntfile.js文件 package.json文件内容: { "name": "qx_tjk_js", "version": "0.0.…