Фермент - Как получить доступ и установить значение <input>?
Я не понимаю, как получить доступ<input>
значение при использованииmount
, Вот что я получил в качестве теста:
it('cancels changes when user presses esc', done => {
const wrapper = mount(<EditableText defaultValue="Hello" />);
const input = wrapper.find('input');
console.log(input.render().attr('value'));
input.simulate('focus');
done();
});
Консоль распечатываетundefined
, Но если я немного изменю код, это сработает:
it('cancels changes when user presses esc', done => {
const wrapper = render(<EditableText defaultValue="Hello" />);
const input = wrapper.find('input');
console.log(input.val());
input.simulate('focus');
done();
});
За исключением, конечно,input.simulate
линия не работает, так как я используюrender
сейчас. Мне нужно, чтобы оба работали правильно. Как это исправить?
РЕДАКТИРОВАТЬ:
Я должен упомянуть,<EditableText />
не является контролируемым компонентом. Но когда я прохожуdefaultValue
в<input />
кажется, чтобы установить значение. Второй блок кода выше выводит значение, а также, если я проверяю элемент ввода в Chrome и набираю$0.value
в консоли он показывает ожидаемое значение.