chai-as-typed
动机
TypeScript 现在能够在纯 JavaScript 文件中进行 类型检查。这种行为并非基于魔法,而是基于格式良好的 JSDoc 注释。
现在,如果我有一个用适当的 JSDoc 注释增强的 JavaScript 文件,像 Visual Studio Code 这样的编辑器将能够自动获取 IntelliSense,其中包括自动完成和类型检查
但是,可靠地公开有关模块 API 的类型信息需要测试。此插件使用特定的助手增强 Chai,使检查纯 JavaScript 文件中的类型信息变得容易。
如何使用
假设我们有一个 JavaScript 文件,它以以下行开头
// @ts-check
我们可以使用以下断言测试所用类型是否正确
expect('/absolute/path/to/filename.js').to.have.types.validated();
如果存在类型错误,将抛出错误,指示类型违规的位置
Error: /absolute/path/to/filename.js (Ln 5, Col 6): Argument of type '123' is not assignable to parameter of type 'string'
此外,如果预期出现错误,我们可以使用以下断言进行测试,指示预期的错误数量
expect('/absolute/path/to/filename.js').to.have.types.errors(1);
安装和设置
运行 npm install --save-dev chai-as-typed
,然后
var chai = require('chai');
var chaiAsTyped = require('chai-as-typed');
chai.use(chaiAsTyped);
免责声明
此插件处于实验阶段。谨慎使用并提供反馈!:)