Squeak.ru - шаблоны программирования

написание шутливых тестовых примеров для классов util

в Vue у меня есть класс утилиты, в котором я абстрагировал вызов axios и немного логики.

импортировать Axios из 'axios'... код выглядит примерно так

export default {
  getStudentNumber (name) {
    Axios.post('myurl', { studentName: name }).then({
      //some logic
      //return
    })
  }
}

Это вызывается из моего класса Vue... Я написал шуточные тестовые примеры для Vue и в этом издевался над Axios... Но есть ли способ написать отдельные тестовые примеры для этого класса обслуживания? Как это написать? Потому что у меня много логики в этом... Я использую шутку

13.05.2019

  • есть ли способ написать отдельные тестовые примеры для этого класса обслуживания да. Это все, что ты хотел знать? 13.05.2019
  • Нет.. как ты это пишешь 13.05.2019
  • Проверяйте метод за методом. Остальное зависит от вашего класса. Что вы пробовали и что не сработало? 13.05.2019

Ответы:


1

Вы можете написать тест для своего сервиса следующим образом:

import Axios from 'axios';
import myService from './myService';

jest.mock('axios');

describe('my service', () => {
  describe('getStudentNumber', () => {
    it('should call Axios.post with myurl and studentName', () => {
      myService.getStudentNumber('mock name');
      expect(Axios.post).toHaveBeenCalledWith('myurl', { studentName: 'mock name' })
    });

    describe('given a successful response', () => {
      beforeAll(() => {
        // setup mock for successful flow
        Axios.post.mockResolvedValue({ responseMock });
      });

      it('should do this', () => {
        const result = myService.getStudentNumber();
        // describe the expected result 
        expect(result).toEqual({ ...... });
      });
    });

    describe('given an error', () => {
      beforeAll(() => {
        // setup mock for non-successful flow
        Axios.post.mockRejectedValue(new Error('some mock error'));
      });

      it('should do that', () => {
        const result = myService.getStudentNumber();
        // describe the expected result 
        expect(result).toEqual({ ...... });
      });
    });
  });
});
13.05.2019
Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...