使用Mocha测试Typescript

时间:2014-01-06 16:13:06

标签: typescript mocha

我正在尝试用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;

2 个答案:

答案 0 :(得分:0)

TS对过载很挑剔。另请参阅Constructor overload in TypeScript

尝试删除第一个声明并添加?到第二个将param标记为可选(免责声明 - 我没有测试过这个)

declare function setup(action: (done?: mocha.Done) => void): void;

答案 1 :(得分:0)

该定义有效。我怀疑这是一个WebStorm问题,或者在其他地方的代码中出现问题。

See this compiles fine

declare function setup(action: () => void): void;
declare function setup(action: (done: number) => void): void;