TL; DR
Я хотел бы включить какую-то функцию automock
, но только (и только!) Для модулей, которые я явно определил в соответствующем __mocks__
папка. Есть ли способ для этого в Jest?
Общие советы и предложения также приветствуются.
Немного контекста: (необязательно)
Оказывается, я совершенно не понял функцию Jests automock . Кстати, оглядываясь назад, я не понимаю, почему, потому что документы достаточно четко понимают, что на самом деле делает:
Эта опция говорит Jest, что все импортированные модули в вашем тесты должны быть проверены автоматически.
Как будто я только что заметил ключевое слово ALL . Может быть, я просто думал - но не имеет смысла иметь autoock даже для импортированной функции, которую я собираюсь протестировать здесь, не так ли? Как, очевидно, я хотел бы использовать сторонние компоненты из node_modules
, но не мой собственный код. И получается, что:
Примечание. Узловые модули автоматически подвергаются насмешкам, когда у вас есть ручная насмешка (например, __mocks__/lodash.js
).
Примечание. Основные модули, такие как fs, , по умолчанию не проверяются . Их можно явно высмеивать, как jest.mock('fs')
Так что это как бы противоположно тому, что я думал.