测试框架主要由几部分组成
1. 测试框架: 主要用来提供测试的语法. 如 mocha
https://mochajs.org/describe('Array', function () {
describe('#indexOf()', function () {
it('should return -1 when the value is not present', function () {
assert.equal([1, 2, 3].indexOf(4), -1);
});
});
});
2. 断言库: 主要用来写测试的断言 如 chai
expect(foo).to.be.a('string');
expect(foo).to.equal('bar');
3. 覆盖率工具: 主要是用来对代码插桩,或者是收集代码的使用情况。
可以看 instanbuljs 或者是 c8. 前者是插桩,后者是从 v8 收集数据。
4. mock 工具: 主要是忽略部分依赖。 使用 mock 的假依赖替换真实依赖。
https://www.npmjs.com/package/mmjest 只是封装了上面这些工具。 其实你完全可以自己组装,开发出需要的库。