首页 文章

使用Mocha测试Typescript

提问于
浏览
0

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

    TS对过载很挑剔 . 另见Constructor overload in TypeScript

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

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

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

    See this compiles fine

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

相关问题