Configuration Test Uint with Mocha & chai
Development environment
- System : Window 10 + Msys2(cygwin)
- node : 14.17.3
- npm : 7.21.0
- mocha : 9.1.2
- lerna : 4.0.0
集成 Mocha & chai 测试
安装依赖
yarn add -D -W mocha chai @types/mocha @types/chai @types/node ts-node # add packages to workspace
lerna add mocha chai @types/mocha @types/chai @types/node ts-node --dev # 由lerna 判断是否add packages
使用lerna add命令
可能惠因为代码没有使用到 @types/mocha … 等包会被忽略.这是可以先到子目录通过yarn add -D … 添加
然后在编写完测试用例和脚本后,在执行lerna bootstrap –hoist 整理依赖包
编写测试脚本
mocha 配置
touch packages/common-utils/.mocharc.js
mocha 配置
module.exports = {
"extenison":['ts'],
"spec":[
"src/**/*.spec.ts",
"tests/*.test.{ts,js}",
"tests/*.setup.{ts.js}"
],
require:[
"ts-node/register",
"chai/register-expect", // 注册chai->expect 方法到全局
"chai/register-assert",
"chai/register-should"
]
}
添加 mocha 命令到package.json scripts
...
"scripts":{
...,
"test":"mocha" // + mocha -c .mocharc.js
}
添加tsc 声明识别
新增项目全局声明文件 types/global/index.d.ts
declare const expect : Chai.ExpectStatic
主要解决vscode 提示
添加 tsconfig 全局配置
{
...,
"compilerOptions":{
...,
"typeRoots": [
"node_modules/@types", // + 自动引入对应声明
"./types", // + 全局声明文件
"./typings" // + pkg 声明文件
],
"types": [
"mocha",
"chai",
"node",
"global"
]
}
}