У меня возникли проблемы с тем, что Enzyme заполнил поле ввода значением. Это было то, что я изначально пробовал:

let input = wrapper.find('#input-id');

Мне удалось «установить значение» (неправильно):

input.value = 'foo';

Я тестировал функцию, которая должна была очистить значение input. Я написал утверждения для подтверждения значения input до и после вызова функции.

expect(input.value).toBe('foo');
invokeFunction();
expect(toInput.value).toBe('');

Первое утверждение прошло, а второе - нет:

Expected value to be (using ===):
  ""
Received:
  "foo"

На вопрос о Stackoverflow и немного позже, когда я почерпнул документацию, я получил свой ответ. Функция .find() от Enzyme возвращает Wrapper (либо ShallowWrapper, либо ReactWrapper, в зависимости от того, какой у вас рендеринг - неглубокий или смонтированный).

Я думал, что установка атрибута value для HTMLInputElement на самом деле установила свойство value для Wrapper. Поскольку моя функция была написана для очистки значения HTMLInputElement, естественно, утверждение не удалось.

Вместо этого мне следовало получить экземпляр:

let input = wrapper.find('#input-id').instance();

Функция .instance() возвращает ReactComponent, что в моей тестовой среде - jsdom (это настройка по умолчанию, созданная приложением create-response-app) - эквивалентно HTMLInputElement.