2014-01-06 158 views
0

我試圖寫的測試中打字稿與摩卡一個項目的NodeJS測試打字稿,我得到了肯定類型化與摩卡

https://github.com/borisyankov/DefinitelyTyped/blob/master/mocha/mocha.d.ts的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. 

這就是會突出顯示錯誤的摩卡定義的一部分:

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

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

一般情況下,有很多錯誤webstorm強調的是不存在的編譯器。報告錯誤 – oligofren

回答

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;