У меня есть эта функция в моем дочернем компоненте:
<div> {handTotal('dealersHand').total} </div>
Это было передано свыше
однако, когда я запускаю шутку, он говорит Cannot read property 'total' of undefined
когда я console.log(handTotal('dealersHand')
он регистрирует правильные вещи, и функция работает, поэтому я знаю, что она делает правильные вещи
Я в шутку затушил это так:
const handTotalStub = jest.fn()
beforeEach(() => {
wrapper = mount(<Dealer
dealersHand={dealersHandStub}
containsAce={containsAceStub}
handTotal={handTotalStub}
/>);
})
Как мне передать параметр в эту функцию, чтобы jest понял, что это такое?
можно добавить дополнительный код/объяснение, если это не имеет смысла
заглушка:
const handTotalStub = jest.fn().mockReturnValue('dealersHand')
тест:
it('expects dealers hand to equal', () => {
expect(handTotalStub('dealersHand').total).toEqual(1);
});
хорошо, но я сделал это, и теперь он думает, что вся функция не определена или, скорее,
expected: 1, received: undefined
?Вам нужно опубликовать фактический тест. Я не вижу, где вы говорите
expect(...)...
Извините, также обновите, как вы создали заглушку (что она возвращает??)
добавил и это.
ах, хорошо, хорошо, но с точки зрения фактического тестирования этой функции, должен ли я сделать это в компоненте выше, где он определен?
Не уверен. Для этого нужно знать, как выглядит остальная часть компонента, его родитель и все такое. Возможно, это должен быть другой вопрос, отличный от этого.