ферментный тест содержит для контейнера - PullRequest
0 голосов
/ 11 декабря 2018

Имеет ли смысл проверять наличие компонента / элемента в контейнере?

У меня есть этот узел

<div className="App">
  <input type="text" onChange={[undefined]} />
  <button onClick={[undefined]}>
    Add
  </button>
</div>

Но почему проверка не прошла?

const wrapper = shallow(<App />);
console.log(wrapper.debug())
expect(
  wrapper.contains('<input type="text" onChange={()=>{}} />')
).toBeTruthy();

https://codesandbox.io/s/rjl3p727wm

1 Ответ

0 голосов
/ 11 декабря 2018

Для этого есть две причины:

  1. Функция contains ожидает передачи ReactNode или Nodes, а не селектора, это означает, что мы должны избавиться от кавычек.
  2. ()=>{} не равно undefined, которое является значением внутри компонента приложения.

Включение этих изменений:

expect(
  wrapper.contains(<input type="text" onChange={undefined} />)
).toBeTruthy();

A forkкодов andbox

...