我有一些複雜的摩卡代碼,我想靜態檢查FlowType,因爲爲什麼不呢?使用flowtype靜態檢查摩卡測試代碼
下面是一個最小的攝製:
/* @flow */
describe('it', function() {
it('fails', function() {
const s: number = 'flow spots this error';
});
});
當我在這個運行流速,流量確實與string
到number
分配這表明,該方法是工作在一定程度上發現的問題。
不過,我也得到:
test/test.js:4
4: describe('it', function() {
^^^^^^^^ identifier `describe`. Could not resolve name
test/test.js:5
5: it('fails', function() {
^^ identifier `it`. Could not resolve name
…顯然,Mocha測試定義在這些函數全局可用的環境中運行,但在查看測試文件時,沒有什麼能夠讓Flow檢測到這一點。
我不知道這些問題是特定於摩卡,但我不覺得我可以自信地架在更廣泛的方面的問題,所以我的問題是:
- 我怎麼能有流量式檢查摩卡測試代碼不會抑制包含
describe
或it
的每一行? - 這是更廣泛的一類情況的一個例子,如果是的話,後者會是什麼?
摩卡的流類型defs目前是一個最沒用的自動生成存根,他們沒有修正「describe」和「it」的錯誤。 – Andy
@你應該改變進口: import {describe,it} from'mocha'; – paulojean
@paulojean不,即使如此,請自己嘗試一下。如果你從'mocha''輸入{describe},然後寫'describe'('blah','blah','blah')',你就不會有任何流量錯誤。雖然這不是一個巨大的交易,我猜。 – Andy