nodeJs should+mocha+istanbul 测试 遇到的坑

Posted 王小窝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodeJs should+mocha+istanbul 测试 遇到的坑相关的知识,希望对你有一定的参考价值。

、istanbul 和 mocha 结合进行nodejs测试的时候最后执行 istanbul cover _mocha test.sqrt.js的时候报错

如图:

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

即,执行的命令为 istanbul cover ../node_modules/mocha/bin/_mocha test.sqrt.js

 

注意目录结构。

以下为此目录结构,

项目依赖:并且istanbul 为全局安装 npm install -g istanbul

 

sqrt.js 代码

test.sqrt.js 代码

istanbul 会生成一个coverage文件夹,里面的html文件为测试报告

并且能看到有哪些语句、分支等没覆盖

 2、instanbul + mocha + async/await 后出现的问题

regeneratorRuntime is not defined

解决问题:

首先package.json中运行的语句:

 

其次,由于async/await的使用需要安装插件。

在.babel文件中加入

3、async Unexpected token

node 版本不对,原本是node6.1.4    升级版本到node8.0

4、mocha debug 调试

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

但是当安装node-inspector失败的时候,要检查node版本,必须是node6.9及一下版本。

所以,当即想用debug又想用async/await  node版本冲突

5、 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

6、transformation error ; return original code

 

 解决方法:

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

 

以上是关于nodeJs should+mocha+istanbul 测试 遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章

前端测试 karma mocha should 都是什么鬼?

节点 mocha 数组应该包含一个元素

Nodejs Mocha测试学习

Mocha - Chai Unit Terst 报告生成 - NodeJS

Spectron,mocha和chai可以声称变量在Electron-app中具有预期值吗?

nodejs+mocha+supertest+chai进行测试(only demo)