#jestjs #mocking
#jestjs #издевательство
Вопрос:
я хотел бы использовать automock, а затем восстановить одну функцию до ее исходного значения, протестировать ее, а затем повторно смоделировать. это казалось хорошим способом предотвратить неожиданный вызов каких-либо функций, но это кажется невозможным.
или есть другой способ внести отдельные функции в белый список для создания утверждений для них…
ОЧЕНЬ надуманный пример…
foo.js
export function foo() {
return 'FOO'
}
foo.test.js
jest.enableAutomock()
import { foo } from 'foo.js'
foo.mockRestore()
expect(foo()).toBe('FOO')
Комментарии:
1. Если вам нужно случайно получить оригинальную реализацию, используйте requireActual .
2. разве использование requireActual не позволяет просто обойти автоматическую блокировку?
3. ДА. Если в большинстве тестов используется mocked foo, и вам нужно использовать реальную реализацию в одном тесте, имеет смысл импортировать другую копию модуля для этого теста. Automocks заменяют исходную реализацию, нет ничего, к чему их можно было бы восстановить. Если вам нужно, чтобы они вели себя по-другому, они не для вас, используйте ручные макеты.
4. это именно та информация, которая мне была нужна! ty !… если вы опубликуете ответ, я могу пометить его как решение 🙂