Заставить WebStorm распознавать метод, определенный в jest.setupFilesAfterEnv - PullRequest
0 голосов
/ 02 июля 2019

В Webstorm я использую jest для модульных тестов и создал расширение, используя expect.extend(). Код для этого в {projectDir}./tests/jest-helpers.js и в моем package.json у меня есть следующее:

"jest": {
  "setupFilesAfterEnv": ["./tests/jest-helpers.js"]
}

Это прекрасно работает, а расширение expect прекрасно работает в моих юнит-тестах. Однако код, вызывающий этот метод в моих модульных тестах, не распознается как допустимый, с предупреждением «Неразрешенная функция или метод».

Я добавил файл .js как библиотеку, но это все равно не помогло. Как я могу получить метод, который будет признан? Могу ли я сделать что-нибудь из JSDoc, которое сообщит WebStorm, что у объекта expect есть новое свойство?

Пример моего определения расширения expect, которое не используется в качестве допустимого метода.

// jest-helper.js
expect.extend({
   toSmellLike(actual, expected) {
      // an implementation
   }
});

Используется:

expect(value).toSmellLike('bananas'); // `toSmellLike is highlighted with a warning
...