学习设计模式,了解下单元测试,搭建一个简单的测试框架学习,使用mocha进行测试。github仓库地址
搭建流程
- 初始化项目
pnpm init
- 安装依赖
pnpm add @babel/preset-env @babel/register babel-core chai mocha -D
- "@babel/preset-env": 用于编译ES6+语法,将其转换为浏览器或Node.js可以理解的ES5语法。
- "@babel/register": 用于在运行测试用例之前,将测试文件中的ES6+语法转换为ES5语法。
- "babel-core": 用于编译JS代码,主要用于转换ES6+语法并支持JSX语法。
- "chai": 一个断言库,用于编写代码的测试用例,比较代码的实际返回值与期望值之间的差异。
- "mocha": 一个JavaScript测试框架,用于搭建测试环境,运行测试用例,生成测试报告等。
├─.babelrc
├─LICENSE
├─package.json
├─pnpm-lock.yaml
├─README.md
├─test
| ├─abstract-factory-test.js
├─src
| ├─creational
| | ├─singleton
| | | ├─singleton.js
| | | └singleton_es6.js
- 启动命令
"test": "mocha test --require @babel/register"
- 写测试文件
const expect = require('chai').expect;
const Person = require('../src/creational/singleton/singleton');
describe('singleton test', () => {
it('sanity', () => {
var john = new Person();
var john2 = new Person();
expect(john).to.equal(john2);
});
});
- 运行单元测试
pnpm run test