Как написать Vue тестовых случаев для метода Vue в компоненте, используя vue -test-utils и jest, который имеет функцию отправки магазина - PullRequest
1 голос
/ 02 марта 2020

Я пишу контрольные тесты для моего компонента vue. У меня есть метод, который вызывает функцию отправки хранилища

dismissed() {
      this.$store.dispatch("alert/hideAlert");
},

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

 wrapper.vm.dismissed();
 await wrapper.vm.$nextTick();
 expect(actions.hideAlert).toHaveBeenCalled();

, но вызов отклоненного метода "wrapper.vm.dismissed ();" выдает ошибку ниже при выполнении тестовых случаев

Невозможно прочитать свойство 'dispatch' из неопределенного

Как я могу проверить этот метод vue?

1 Ответ

2 голосов
/ 02 марта 2020

Я думаю, что это самый простой способ сделать это.

const mockStore = { dispatch: jest.fn() }
const wrapper = shallowMount(YourComponent, {
   mocks: {
      $store: mockStore
   }
}

wrapper.vm.dismissed();
await wrapper.vm.$nextTick();
expect(mockStore.dispatch).toHaveBeenCalledWith('alert/hideAlert');

Но вы также можете сделать это по-разному. Проверьте эту статью

...