node-doctest
v0.1.0
Published
Run doctests embedded in JSDoc-style comments for JS/TS files.
Downloads
100
Maintainers
Readme
node-doctest
node-doctest 是一个轻量级的 Node.js doctest 运行器, 可以直接在jsdoc中写测试用例,直接运行node-doctest后进行测试运行。
它会扫描 JavaScript/TypeScript 源码文件,从带有 @test 的 JSDoc 注释中提取代码块并执行测试。
功能特性
- 支持
.ts、.mts、.cts、.tsx、.js、.mjs、.cjs、.jsx - 在源文件作用域内执行 doctest 代码
- 支持 TS/JS 混合项目的本地导入解析
- 会读取
.gitignore并忽略常见目录
安装
从 npm 安装(推荐开发依赖):
npm install --save-dev node-doctest或全局安装:
npm install -g node-doctest使用方式
在当前项目运行 doctest:
node-doctest如果是开发依赖安装,建议使用:
npx node-doctest对指定路径运行 doctest:
node-doctest tests可同时传入多个文件或目录:
node-doctest src/index.ts tests/ts返回结果:
▶ mult suit test
✔ strictEqual (0.293375ms)
✔ mult suit test (0.73675ms)
✔ strictEqual (0.063208ms)
PASS tests/js/plus.js:4
PASS tests/jsx/add.jsx:4
PASS tests/ts/math.ts:6
PASS tests/ts/math.ts:16
PASS tests/ts/math.ts:31
PASS tests/ts/mutl.ts:4
PASS tests/tsx/add.tsx:4
Doctest result: ok. 7 passed; 0 failed; 7 total.Doctest 写法
在 JSDoc 注释中添加 @test,并在 fenced code block 里写可执行测试代码:
/**
* 两数相加。
*
* @test
* ```
* assert.equal(1 + 2, 3);
* ```
*/
export function add(a: number, b: number) {
return a + b;
}在 doctest 代码中可直接使用 assert、test、it。
许可证
MIT
