mocha+chai 笔记

1 篇文章 0 订阅

 

npm install --global mocha

// 相等或不相等
expect(4 + 5).to.be.equal(9);
expect(4 + 5).to.be.not.equal(10);
expect(foo).to.be.deep.equal({ bar: 'baz' });

// 布尔值为true
expect('everthing').to.be.ok;
expect(false).to.not.be.ok;

// typeof
expect('test').to.be.a('string');
expect({ foo: 'bar' }).to.be.an('object');
expect(foo).to.be.an.instanceof(Foo);

// include
expect([1,2,3]).to.include(2);
expect('foobar').to.contain('foo');
expect({ foo: 'bar', hello: 'universe' }).to.include.keys('foo');

// empty
expect([]).to.be.empty;
expect('').to.be.empty;
expect({}).to.be.empty;

// match
expect('foobar').to.match(/^foo/);

--recursive参数 递归运行目录里所有测试文件

--reporters参数可以显示所有内置的报告格式。

npm install --save-dev mochawesome

 --reporter(-R) mochawesome 生产HTML格式报告,其他格式https://mochajs.org/#reporters

--watch(-w)参数用来监视指定的测试脚本。

--bail(-b)参数指定只要有一个测试用例没有通过,就停止执行后面的测试用例。

--grep(-g)参数用于搜索测试用例的名称(即it块的第一个参数),然后只执行匹配的测试用例。

npm install babel-core babel-preset-es2015 --save-dev

 .babelrc

{
  "presets": [ "es2015" ]
}

 使用--compilers参数指定测试脚本的转码器。

--require babel-core/register

注意,Babel默认不会对Iterator、Generator、Promise、Map、Set等全局对象,以及一些全局对象的方法(比如Object.assign)转码。如果你想要对这些对象转码,就要安装babel-polyfill

 

npm install babel-polyfill --save
import 'babel-polyfill'

Mocha默认每个测试用例最多执行2000毫秒,如果到时没有得到结果,就报错。

需要用-t--timeout参数,改变默认的超时设置。

Mocha默认会高亮显示超过75毫秒的测试用例,可以用-s--slow调整这个参数。

,Mocha内置对Promise的支持,允许直接返回Promise,等到它的状态改变,再执行断言,而不用显式调用done方法

it('异步请求应该返回一个对象', function() {
  return fetch('https://api.github.com')
    .then(function(res) {
      return res.json();
    }).then(function(json) {
      expect(json).to.be.an('object');
    });
});

只有带有only方法的测试用例会运行。

skip方法,表示跳过指定的测试套件或测试用例

 

--recursive -R markdown > spec.md
--reporter doc > spec.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值