發表文章

目前顯示的是 11月, 2015的文章

Code Coverage with CircleCI + Codecov

圖片
Code Coverage with CircleCI + Codecov 最近的案子用到 Redux + React ,因為它 Pure Function 的特性,所以 單元測試 很容易寫,順便也趁機會玩一下 程式碼覆蓋率 (Code Coverage)。 單元測試 Unit Test 這裡就不講單元測試怎麼寫了,網路上有很多大神的好文可以爬,我是用 Mocha + Chai : mocha 是 test framework,提供 describe 、 it chai 是 assertion library,提供 assert 、 should 、 expect 安裝 Gulp : npm install --save-dev gulp gulp-mocha 安裝 Babel 讓程式支援 ES6 語法: npm install --save-dev babel 加入 mocha 到 gulpfile.babel.js : // gulpfile.babel.js import gulp from 'gulp'; import mocha from 'gulp-mocha'; gulp.task('mocha', () => { return gulp.src('test/**/*.js') .pipe(mocha()); }); 使用 npm test 取代 gulp mocha : // package.json { "scripts": { "test": "gulp mocha" } } 這樣做的好處: gulp 可不用 -g 全域安裝 CI 會自動執行測試 程式碼覆蓋率 Code Coverage 有許多提供 code coverage review 的服務,例如: Code Climate 、 Codecov 、 Coveralls 。這裡選擇 Codecov ,因為它的 GitHub public repo 方案是免費的。 安裝 istanbul 產生 coverage report: npm insta