jest.spyOn не называется

Я пытаюсь проверить этот компонент, используя шутку и фермент в реакции нативного:

export class MyItem extends PureComponent {

    _onDelete = () => {
        console.log('Deleting !')
    }

    _renderSwpItem = () => {
        return (
            <TouchableOpacity id="delete" onPress={this._onDelete}>
                <Icon name="delete" size={50} color={Colors.white}/>
            </TouchableOpacity>     
        )
    }
    ...
}

Итак, я написал:

describe('Testing MyItem', () => {
    const wrapper = shallow( <MyItem />)

    it('_renderSwptItem press works', () => {
        const instance = wrapper.instance()
        const swpWrapper = shallow(instance._renderSwpItem())
        const deletePressSpy = jest.spyOn(instance, '_onDelete')
        swpWrapper.find('#delete').simulate('press')
        expect(deletePressSpy).toHaveBeenCalledTimes(1)
    })
})  

Я могу видеть в журнале Deleting ! но expect(deletePressSpy).toHaveBeenCalledTimes(1) выходит из строя. Что я делаю неправильно?

1 ответ

Кажется, что вызов spyOn перед вызовом shallow(instance._renderSwpItem()) делает трюк. Не уверен, почему подумал...

Другие вопросы по тегам