項目提交github之后可以集成一些在線工具,例如Travis CI、Coveralls等。Travis CI可以在每次github有新的改動的時候獲取到最新的代碼,然后構建,編譯以及跑單元測試,確保代碼正確性。Coveralls可以從Travis CI跑的結果統計出單元測試對代碼的覆蓋率。
Travis CI
npm i mocha -D
npm i chai -D
寫一些單元測試...
在package.json中加入下面代碼:
"scripts": {
? ? "test": "mocha --reporter spec"
}
然后在命令行運行 【npm test】來跑單元測試,Travis CI也是默認運行【npm test】。
其次用github授權登錄Travis CI,把要集成CI的項目左邊的按鈕點亮。
在項目根目錄中新建.travis.yml文件,寫入(具體寫法可查看Travis CI的文檔):
language: node_js
node_js:
? ? - stable
默認參數如:【install: - npm install】和【script:- npm test】可不寫。
這樣子就完成了設置,下次github倉庫有代碼提交之后就會跑CI:
如果想在github項目的markdown文件中直接看到CI結果,可以點擊上圖中【build|passing】按鈕,然后出現的dialog中的第二個下拉按鈕選markdown,然后拷貝下面文本框內容,粘貼到項目的md文件中。
Coveralls
在項目中用Istanbul+Coveralls來完成覆蓋率的統計和輸出:
npm i coveralls -D
npm i istanbul -D
在package.json中加入下面代碼:
"scripts": {
? ? "cover": "istanbul cover --report lcov node_modules/mocha/bin/_mocha -- -R spec test/*.js"
}
更新.travis.yml文件:
language: node_js
node_js:
? ? - stable
script:
? ? - npm run cover
after_script: "cat coverage/lcov.info | node_modules/coveralls/bin/coveralls.js"
其次用github授權登錄Coveralls,把要集成CI的項目左邊的按鈕點亮。
這樣子就完成了設置,下次Travis CI跑完之后,就會在Coveralls上統計覆蓋率信息。
同理在Coveralls里,單擊【BADGE】右上角的按鈕,拷貝markdown里面內容到md文件中。