我试着用阿鲁安的 回答 无数种不同的方式,但没有一种方式是有效的,也就是说,没有一种方式能让我对我增强的类型进行甜美的自动完成。
import { Foo } from './foo';
declare module "mocha" {
namespace Mocha {
export interface Context {
foo: Foo;
}
}
}
我确保了 augmentations.d.ts
文件是 include
的财产 tsconfig.json
但我在VSCode中看到的是,当我输入 this
在测试钩中。
特别提到 this
作为论据 it
钩子也没有用。
it("should do something", async function (this: Mocha.Context) {
...
});
最终由Aluan提供了解决方案。他原来的答案中有一个小的错别字。
把命名空间去掉就可以了。
import { Foo } from './foo';
declare module "mocha" {
export interface Context {
foo: Foo;
}
}