Код:
it('returns a sum',()=>{
const home = shallow(<Home />);
var first_val = home.state().val1;
var second_val = home.state().val2;
var result = first_val + second_val;
expect(result).toBe(0);
const inputs=home.find('input')
inputs.at(0).simulate('change',{target: {value: 5 } } )
inputs.at(1).simulate('change', { target: { value: 8 } })
home.find('button').simulate('click')
home.update()
expect(home.state().result).toBe(13)
})
Вы можете найти это полезным.
1. Помните, что для доступа к состоянию вы должны вызывать state () следующим образом.
home.state().somevalue
Ex:- home.state().val1
2.Вы уже сделали обертку отсюда.
const home = shallow(<Home />);
Теперь доступ к такому состоянию неправильный.
Home.state.val1;// it should be home.state().val1;
3. По умолчанию состояние содержит значения по умолчанию.
var first_val = home.state().val1;
var second_val = home.state().val2;
var result = first_val + second_val;
expect(result).toBe(0);//here it is.
4.Чтобы ввести входные значения в поле. Сначала найдите поле и смоделируйте замену, как показано ниже.
const inputs=home.find('input')
inputs.at(0).simulate('change',{target: {value: 5 } } )//observe the object
inputs.at(1).simulate('change', { target: { value: 8 } })
5. Чтобы добавить эти значения, нажмите кнопку добавления.
home.find('button').simulate('click')
6. Ваша работа не выполнена! Не забудьте позвонить.
home.update()
7. Теперь проверьте значение
expect(home.state().result).toBe(13)