React & Jest — обрабатывать файлы, отличные от JavaScript
Я предполагаю, что вы здесь из-за каких-то тестовых ошибок или чего-то еще, что происходит во время каждого запуска. Вы подозреваете, что ошибка вызвана импортированными файлами ресурсов внутри компонента, но не уверены в точном решении.
Препятствие
По сути, Jest не может обрабатывать файлы, отличные от JavaScript, по умолчанию, поэтому все они также должны быть каким-то образом имитированы.
Решение
Jest предоставляет свойство moduleNameWrapper
, которое можно использовать в этих нестандартных случаях. Он принимает следующие элементы:
- регулярное выражение, которое ищет все совпадающие с ним файлы,
- функция имитации, которая будет использоваться вместо совпадающих файлов.
Есть два подхода к мокированию ресурсов — я также продемонстрирую пример для каждого из них ниже:
- со сторонним пакетом — например identity-obj-proxy,
2. простой, самостоятельно созданный файл.
Надеюсь, вы либо узнали что-то новое, либо вам понравилась статья. Любые отзывы и вопросы приветствуются в разделе комментариев. Меня также можно найти в Твиттере.