Библиотека тестирования Vuejs — как написать тест для обработки запроса axios в «смонтированном» хуке

У меня есть компонент vue, который извлекает данные из API в «созданной» функции. Я просто встаю и работаю, используя следующий стек тестирования:

        "devDependencies": {
    "@testing-library/jest-dom": "^5.16.1",
    "@testing-library/vue": "^5.8.2",
    "babel-core": "^7.0.0-bridge.0",
    "babel-jest": "^27.4.6",
    "jest": "^27.4.7",
    "vue-jest": "^3.0.7",
    "webpack-dev-server": "^3.11.0"
  }

Мой текущий тест:

      import BatchCalendar from '../src/components/batch_calendar.vue';
import { render } from '@testing-library/vue';

test('It renders correctly and loads initial data', done => {
    const wrapper = await render(BatchCalendar);

        
    getByText('Calendar Notices');
});

Я знаю, что библиотека тестирования vue абстрагирует некоторые методы от основных утилит тестирования vue, поэтому мне остается использовать метод «рендеринга» библиотеки тестирования vue.

Мой вопрос заключается в том, как мне обрабатывать вызов API в хуке, созданном vue.

  1. Следует ли издеваться над всеми вызовами API (а также асинхронными методами?)?
  2. Как/где размещать функции ожидания/асинхронности?
  3. Если у меня есть плагин (fullcalendar), который самостоятельно отправляет API-запросы при рендеринге, как я могу издеваться/обрабатывать это?

Дайте мне знать, если вам нужна дополнительная информация, спасибо.

0 ответов

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