Ошибка типа: невозможно прочитать свойство 'caption' из неопределенного - PullRequest
1 голос
/ 21 мая 2019

Попытка проверить, правильно ли вызывается следующая функция.

Вот функция, использующая Jest и Enzyme для React Js:

changeCurrentColumn = (e) => {
 {
   if(e.target.value !== 'default')
   {
     const id = e.target.value
     const name = this.props.defaultData[e.target.value].caption
     this.props.setCurrentColumn({ name, id })
   }
 }
}

Вот проверка:

it('changeCurrentColumn function test', () => {
 wrapper.setProps({
   defaultData:[{
      caption:"test"
   },],
 }),
 wrapper.update();

Ошибка указывает на ({target:'test'})):

expect(wrapper.instance().changeCurrentColumn({target:'test'})).toBeDefined(); 
})

Что я могу добавить после 'test', чтобы прочитать свойство 'caption'?

Спасибо.

1 Ответ

1 голос
/ 22 мая 2019

Вы можете изменить тип defaultData для объекта что-то вроде этого.

it('changeCurrentColumn function test', () => {
    const event = {
        target: {
            value: "caption"
        }
    }
    wrapper.setProps({
      defaultData:{
         caption:"test"
      },
    }),
    wrapper.update();
    expect(wrapper.instance().changeCurrentColumn(event)).toBeDefined()
});

или передайте значение 0, чтобы получить отдых от существующих данных по умолчанию.

it('changeCurrentColumn function test', () => {
    const event = {
        target: {
            value: 0
        }
    }
    wrapper.setProps({
      defaultData:[{
         caption:"test"
      }],
    }),
    wrapper.update();
    expect(wrapper.instance().changeCurrentColumn(event)).toBeDefined()
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...