chai-as-typed

Build Status Coverage Status Greenkeeper badge

动机

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);

免责声明

此插件处于实验阶段。谨慎使用并提供反馈!:)