2016-12-11 3 views
2

Недавно я познакомился с концепциями Jest Library и модульных тестов, и все, что связано с документацией jest, справедливо в моих кодах.Разница между макетным и демонстрационным тестом в Jest

Но мне нужно знать, в чем разница между издевательской и unmocking-концепцией в Jest и других библиотеках тестов модулей.

Благодаря

ответ

4

Mock означает заменить экземпляр с другой. В шутку он использовался для замены реализации импортированных модулей на свой собственный.

jest.mock('yourModule',() => {test:()=> 'test'})

Основная идея позади него, чтобы изолировать код модульного тестирования, так что вы только тест одного модуля без влияния других частей вашего приложения или внешнего кода. Это имеет ряд преимуществ. Прежде всего, если код в одном модуле ломается, только тест для этой части завершится неудачно, а не весь тест для частей, которые просто импортируют этот модуль. Во-вторых, вы можете упростить сам тест, так как вам не нужно запускать сервер, который возвращается с определенными данными, что также замедлит ваш код.

Функция разблокировки является причиной функции автомата, которая по умолчанию была в прошлом. Automocking заменит все импортированные модули по умолчанию. Поскольку это имеет смысл для некоторых модулей, но не требуется для lodash, например, вы могли бы высвободить насмешку над ними. Так что в большинстве случаев необходимо отключить автомат, чтобы включить оригинальную реализацию, если это необходимо.

+0

спасибо, приятель, я понял. –