nodeJs should+mocha+istanbul 測試 遇到的坑

、istanbul 和 mocha 結合進行nodejs測試的時候最後執行 istanbul cover _mocha test.sqrt.js的時候報錯html

如圖:node

用 ../node_modules/mocha/bin/_mocha 代替 _mochanpm

即,執行的命令爲 istanbul cover ../node_modules/mocha/bin/_mocha test.sqrt.jsjson

 

注意目錄結構。babel

如下爲此目錄結構,async

項目依賴:而且istanbul 爲全局安裝 npm install -g istanbul測試

 

sqrt.js 代碼spa

test.sqrt.js 代碼插件

istanbul 會生成一個coverage文件夾,裏面的html文件爲測試報告debug

而且能看到有哪些語句、分支等沒覆蓋

 二、instanbul + mocha + async/await 後出現的問題

regeneratorRuntime is not defined

解決問題:

首先package.json中運行的語句:

 

其次,因爲async/await的使用須要安裝插件。

在.babel文件中加入

三、async Unexpected token

node 版本不對,本來是node6.1.4    升級版本到node8.0

四、mocha debug 調試

方法:http://www.cnblogs.com/wade-xu/p/4683431.html

可是當安裝node-inspector失敗的時候,要檢查node版本,必須是node6.9及一下版本。

因此,立即想用debug又想用async/await  node版本衝突

五、 No coverage information was collected, exit without writing coverage information

使用 --compilers js:babel/register

或者更新istanbul的版本

npm install --save-dev istanbul@1.0.0-alpha.2

npm install -g istanbul@1.0.0-alpha.2

六、transformation error ; return original code

 

 解決方法:

 七、Warning: Could not find any test files matching pattern: js:babel/register

相關文章
相關標籤/搜索