我正在尝试用Mocha测试一个用Typescript编写的NodeJS项目,我从绝对类型中获取了mocha.d.ts文件
https://github.com/borisyankov/DefinitelyTyped/blob/master/mocha/mocha.d.ts
这是我在Webstorm中看到的错误:
C:/Users/Me/AppData/Roaming/npm/tsc.cmd --sourcemap Test.ts --module commonjs
C:/Users/Me/WebstormProjects/Core/test/External/mocha.d.ts(76,1): error TS2152: Overload signatures must all be ambient or non-ambient.
C:/Users/Me/WebstormProjects/Core/test/External/mocha.d.ts(78,1): error TS2152: Overload signatures must all be ambient or non-ambient.
这是mocha定义的一部分,突出显示错误:
declare function setup(action: () => void): void;
declare function setup(action: (done: mocha.Done) => void): void;
答案 0 :(得分:0)
TS对过载很挑剔。另请参阅Constructor overload in TypeScript
尝试删除第一个声明并添加?到第二个将param标记为可选(免责声明 - 我没有测试过这个)
declare function setup(action: (done?: mocha.Done) => void): void;
答案 1 :(得分:0)
该定义有效。我怀疑这是一个WebStorm问题,或者在其他地方的代码中出现问题。
declare function setup(action: () => void): void;
declare function setup(action: (done: number) => void): void;