使用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了進去
相關文章
相關標籤/搜索