Mocha+Istanbul+should小结

PS:这三个东西可以解决单元测试及代码覆盖率问题,本文总结其用法(针对服务器端JS)。

1 准备工作

Mocha是一个测试库,通常与断言库should一起使用来进行测试;Istanbul是一个进行代码覆盖率测试的工具。

一般而言,Mocha和Istanbul都是全局安装的,should是局部安装的,即

npm install Mocha -g                npm install Istanbul -g

假设有以下项目目录,我们要对main.js进行测试。

 第一步:建立test目录

由于执行mocha命令时,默认执行test目录下的文件,所以一般测试文件都放在test目录下,由于要测试main.js故新建一个文件,取名为main.test.js

第二步:安装should断言库(假设Mocha和Istanbul已装好)

进入到project目录,执行npm install should --save-dev,此时准备工作已完成。

2 编写main.js和main.test.js

假设main.js内容如下

var fibonacci = function (n) {
  if (n === 0) {
    return 0;
  }
  if (n === 1) {
    return 1;
  }
  return fibonacci(n-1) + fibonacci(n-2);
};
exports.fibonacci=fibonacci;
if (require.main === module) {
  // 如果是直接执行 main.js,则进入此处
  // 如果 main.js 被其他文件 require,则此处不会执行。
  var n = Number(process.argv[2]);
  console.log('fibonacci(' + n + ') is', fibonacci(n));
}

那么main.test.js应该长这样:

var should=require('should');//引入should
var main=require('../main.js');//引入要被测试的文件

describe('test/main.test.js', function () {
  it('should equal 55 when n === 10', function () {
    main.fibonacci(10).should.equal(55);
  });
});

然后在project目录下用node执行mocha命令,得到如下输出


若执行istanbulcover_mocha命令可得到覆盖率结果和测试结果

3 关于mocha的一些配置项

可以将mocha的一些常用配置项写在一个叫做mocha.opts文件中,这样执行的时候就不用带参数了

server-tests  //指定mocha的执行目录,即有时测试文件不是放在test目录下,使用此命令可以指定mocha执行目录,这里的测试文件就是放在server-tests目录下的
--reporter tap  //指定报告的显示方式,这里是tap风格的

--recursive  //使test的子目录中的测试文件也能执行
--growl  //将测试结果在桌面显示
--watch  //测试文件有变动时会再次执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Vue 3和TypeScript的项目实战,有以下几个步骤可以参考: 1. 创建一个新的Vue 3项目:可以使用Vue CLI来快速创建一个基本的Vue 3项目。通过命令行运行`vue create`命令,选择使用TypeScript作为项目的语言支持。 2. 配置Vue 3的TypeScript支持:在创建项目时,选择了TypeScript后,Vue CLI会自动生成一些基本的TypeScript配置。你可以在`tsconfig.json`文件中进行进一步的配置,例如指定编译目标、模块加载器等。 3. 使用Vue 3的Composition API:Composition API是Vue 3中引入的新特性,它允许开发者更灵活地组织和重用组件逻辑。你可以在组件中使用`setup()`函数来定义组件的逻辑部分,并通过`ref()`、`reactive()`等函数来创建响应式数据。 4. 定义类型:在使用TypeScript开发Vue 3项目时,可以为组件、数据等定义类型。通过给变量、函数参数、返回值等添加类型注解,可以提供更好的代码提示和类型检查。 5. 使用Vue Router进行路由管理:如果你的项目需要使用路由管理,可以使用Vue Router。在Vue 3中,可以使用`createRouter()`函数来创建路由实例,并通过`use()`方法将其挂载到应用中。 6. 使用Vuex进行状态管理:如果你需要进行全局状态管理,可以使用Vuex。在Vue 3中,可以使用`createStore()`函数来创建Vuex实例,并通过`provide()`和`inject()`配合使用,将其注入到应用中的各个组件中。 7. 编写单元测试:在实战项目中,编写单元测试是一个重要的环节。你可以使用工具如Jest或Mocha等来编写和运行单元测试,以确保你的代码的质量和稳定性。 以上是一个基本的Vue 3和TypeScript项目实战的步骤,希望对你有所帮助!如果你有更具体的问题,欢迎继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值