0
点赞
收藏
分享

微信扫一扫

(NodeJS+unit.js+MochaJS+istanbul)简单操作实例

ZMXQQ233 2022-06-20 阅读 19

在这前,需要安装并配置Node.js、npm服务!安装与配置,

安装成功后,执行如下操作。

开始进行如下操作如下操作:

1.创建项目文件夹


选择相应的路径,创建测试项目文件,例如在E盘创建文件夹“ MochaPro”。在dos窗口执行命令:


D:
mkdir MochaPro

2.进入MochaPro文件安装macho


进入到MachaPro文件夹下,执行命令:npm install macho,安装mocha花费时间相对较长。在Dos窗口执行命令:

D:
cd MochaPro
npm install mocha

命令执行成功之后,执行命令:mocha --version,验证安装是否成功

(NodeJS+unit.js+MochaJS+istanbul)简单操作实例_加载



3.进入MochaPro文件安装unit.js


安装unit.js时,要与mocha方式保持一致,不然在require("unit.js")时,mocha提示找不到包。经过尝试,在MochaPro文件下安装时,在执行mocha进行javascript单元测试时,才 不会出现找不到module的问题。在dos窗口指定命令:

D:
cd MochaPro
npm install unit.js

4.mocha + unit.js简单的测试实例


在MochaPro文件夹下,创建源代码文件与测试文件夹。 (NodeJS+unit.js+MochaJS+istanbul)简单操作实例_加载_02

JSDemo文件夹用来存放要测试的JS代码、JSDemoTest文件用来存放测试代码、node_modules是用来存放npm安装的包。 在JSDemo文件下编写一个简单的测试代码:DW.js,在其中放置如下代码:

function dw(str1){
return str1;
};
//导出dw函数
module.exports= dw;

在JSDemoTest文件夹下编写一个简单测试代码:dwTest.js,在其中放置如下代码:


//加载要测试的代码块  
var dw= require("../JSDemo/DW.js");
//加载断言包
var test = require("unit.js");
//创建一个测试用例
describe("test dw",function(){
var str="hello";
it("test dw function",function(){
test.should(dw(str)).be.equal("hello");
});
it("test dw function",function(){
test.should(dw(1)).be.equal(1);
});
});


5.执行mocha + unit.js简单的测试实例


在JSDemoTest路径下执行命令,mocha dwTest.js,在dos窗口的操作如下:

E:
cd "E:\MochaPro\JSDemoTest"
mocha dwTest.js

E:
cd MochaPro
cd JSDemoTest
mocha dwTest.js


执行成功如下: (NodeJS+unit.js+MochaJS+istanbul)简单操作实例_加载_03


6.安装istanbul


mocha执行通过,但是看不到清晰条理的,不知道相应的代码覆盖,安装istanbul来查看源程序的代码覆盖率。这个模块我选择安装的是全局,我按装局部无法使用该命令,可能是我之前安装npm时使用的全局的。在dos窗口执行命令:

win+R
cmd
npm install -g istanbul

在dos窗口执行命令:istanbul help来查看istanbul的命令帮助:

(NodeJS+unit.js+MochaJS+istanbul)简单操作实例_加载_04



7.使用istanbul查看DW.js的代码覆盖


执行完mocha dwTest.js时,然后进入到JSDemo文件下,执行命令:istanbul cover DW.js,在dos窗口的操作流程就是:

E:
cd "E:\MochaPro"
istanbul cover node_modules/mocha/bin/_mocha


上述命令执行成功,会有如下结果: (NodeJS+unit.js+MochaJS+istanbul)简单操作实例_加载_05




8.执行istanbul cover node_modules/mocha/bin/_mocha成功会创建coverage文件


这条命令同时还生成了一个 coverage 子目录,其中的 coverage.json 文件包含覆盖率的原始数据,lcov-report 是可以在浏览器打开的覆盖率报告,其中有详细信息,到底哪些代码没有覆盖到。

(NodeJS+unit.js+MochaJS+istanbul)简单操作实例_加载_06

(NodeJS+unit.js+MochaJS+istanbul)简单操作实例_加载_07


举报

相关推荐

0 条评论