我有一些复杂的摩卡代码,我想静态检查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