Я пытаюсь настроить модульное тестирование нового проекта Vue, над которым я работаю. Я впервые провожу модульное тестирование интерфейса. Я использую Jest и Vue -test-utils.
Я застрял на том, как протестировать один из моих компонентов. Настройка basi c выглядит следующим образом:
<Grid>
<GridItem @clicked="toggleItem"/>
</Grid>
Метод toggleItem родительского элемента генерирует событие 'input'. Я пытаюсь проверить, что когда генерируется событие «clicked», родительский элемент генерирует событие «input».
Я настроил свой тест для shallowMount родительского компонента. Вот как выглядит мой тест:
it('clicking a GridItem should emit and input event', async () => {
const gridItems = wrapper.findAll(GridItem);
await gridItems.at(0).vm.$emit('clicked');
expect(wrapper.emitted().input.length).toBe('1');
});
Однако, когда я запускаю этот тест, я получаю эту ошибку
TypeError: _vm.toggleItem is not a function
Есть идеи, почему это происходит?