У меня есть сложный код Mocha, который я бы хотел статически проверять с помощью FlowType, потому что почему бы и нет?
Ниже приведен минимальный уровень воспроизведения:
/* @flow */
describe('it', function () {
it('fails', function() {
const s: number = 'flow spots this error';
});
});
Когда я запускаю Flow на этом, Flow действительно обнаруживает проблему с присваиванием 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
& hellip; по-видимому, определения тестов Mocha выполняются в среде, где эти функции доступны по всему миру, но при просмотре тестового файла нет ничего, что позволило бы Flow обнаружить это.
Я не уверен, что эти проблемы характерны для Mocha, но я не чувствую, что могу уверенно сформулировать этот вопрос в более широком смысле, поэтому мои вопросы:
- Как я могу проверить тип потока Mocha, не подавляя каждую строку, содержащую
describe
илиit
? - - это пример более широкого класса ситуаций, и если да, то каково было бы последнее?