Jest имитировать не показывать текст в текстовом поле - PullRequest
0 голосов
/ 10 апреля 2019

Вот мой тестовый скрипт для тестирования компонента 'SearchBox' с использованием Jest / Enzyme -

   test('searchbox input!',()=>{
const wrapper=global.mount(<SearchBox  onTextChangedFunc={dummyFunction}></SearchBox>)
const textBox=wrapper.find('#inputText')
textBox.simulate('change',{target:{value:'p12346997'}})
wrapper.update();
console.log(wrapper.debug());
})

Вот функция dummyFunction -

function dummyFunction(e)
{    
}

Не могу понять, почему консоль.log в последней строке не показывает обновленный текст.Это то, что я получаю на консоли -

 <SearchBox onTextChangedFunc={[Function: dummyFunction]}>
<div className="textBoxContainer" style={{...}}>
  <input id="inputText" className="customTextbox" required={true} onChange={[Function: dummyFunction]} onBlur={[undefined]} />
  <label className="lbl" name="placeholder_label" onClick={[Function: bound labelClicked]} />
  <label id="inputError" className="err" />
</div>

Я ожидал увидеть текст ' p12346997 ' в журнале консоли в качестве значения дляinput (с идентификатором "inputText").

Пожалуйста, дайте мне знать, если я могу дать более подробную информацию.

1 Ответ

0 голосов
/ 10 апреля 2019

Вы связываете это с пустой функцией, что вы можете сделать здесь, это то, что вы можете просто

expect(dummyFunction).toHaveBeenCalled();

Причина в том, что, я думаю, у вас есть атрибут value={this.state.customTextBox}, который обновляет значение в состоянии и затем привязывает его к вводу. Таким образом, чтобы увидеть, что я бы предложил пути. Вы также ожидаете, что dummyFunction будет вызвана с этим объектом

const dummyFunction = jest.fn();

expect(dummyFunction).toHaveBeenCalledWith({target:{value:'p12346997'}});

или если вы связываете значение с состоянием, просто проверьте, имеет ли значение объект в состоянии:

 expect(wrapper.state().myInput).toBe('p12346997');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...