使用mocha 搭建typescript自动化测试

使用mocha 搭建typescript自动化测试

Mocha 是当前比较流行的javascript自动化测试框架,详情介绍: http://mochajs.orgjavascript

Typescript 是微软支持的一种相似于javascript可是又有类型检测的语言前端

完整的测试例子见: http://git.oschina.net/dog/forward-cmsjava


如今愈来愈多的人开始用typescript去写前端或者node程序,楼主最近也在本身折腾typescript去构建一个cms项目。 为了便于测试一些代码因此搭建了Mocha测试环境,现把遇到的坑和学习过程分享:node

步骤1, 安装各类依赖: 1. npm install typeings -g npm install typescript -g npm install mocha -g, npm install ts-node 2. typings install dt~mocha -g, typings install dt~node -ggit

步骤2, 构建一个简单项目,例如项目:http://git.oschina.net/dog/forward-cmses6

步骤3,构建测试目录,在项目 forward-cms 下新建测试目录test: 1. 新建 mocha.opts --require babel-register --compilers ts:typescript --harmony --harmony-destructuring --es_staging 2. 新建 test.js ``` require('ts-node').register(require('../tsconfig.json')); var fs = require('fs'); var path = require('path');typescript

//加载测试文件
	function loadTest(dir) {

	  let files = fs.readdirSync(dir);

	  for(var f of files) {
	    let stats = fs.statSync(path.join(dir, f));
	    if (stats.isDirectory()) {
	      loadTest(path.join(dir, f));
	    }

	    if (!/\w+\.test\.ts/.test(f)) {
	      continue;
	    }
	    f = f.replace(/\.ts$/, '');
	    let file = dir + '/' + f
	    require(file);
	  }
	}

	loadTest(__dirname);
```

步骤4, 运行测试脚本: mocha //运行单个测试 mocha -g server/common.tsnpm


遇到的坑

mocha 如今不支持es6,若是须要支持es6 须要安装babel-register,并在mocha.opts 加入
mocha 要想实时运行typescript,须要用ts-node
mocha 要想使用-g去匹配单个测试用例,必须先把这个测试用例载入到内存中,因此我在test.js中把测试用例所有require了进去
相关文章
相关标签/搜索