Как провести тестирование с редукс-сагой с шуткой и энзимом - PullRequest
0 голосов
/ 18 апреля 2019

Я провел тестирование редукса и саги, но теперь я хочу протестировать комбинирование тестирования редукса и саги с ферментом и шутом. Возможно ли это с шуткой и энзимом

1 Ответ

0 голосов
/ 18 апреля 2019

Это более или менее шаблон, которому вы должны следовать:

// import the saga, types, actions, and api
import { put, call } from 'redux-saga/effects';
import * as saga from './YOUR_SAGA_DIRECTORY';
import * as api from './YOUR_API_DIRECTORY';
import * as actions from './YOUR_ACTIONS_DIRECTORY';
import * as types from './YOUR_TYPES_DIRECTORY';

describe('TEST SAGA WITH JEST', () => {
    // provide mock params for your action
    const param = 'test';
    const anotherParam = 'anotherTest';

    test('SAGA SUCCESS', () => {
        // execute the saga with the action and the mocks
        const generator = saga.yourSaga(actions.yourAction(param, anotherParam));
        expect(generator.next().value).toEqual(call(api.yourApi, param, anotherParam));
        // assert that it was executed successfully
       expect(generator.next().value).toEqual(put(actions.successAction()));

  });

    test('SAGA FAILURE', () => {
        const generator = saga.yourSaga(actions.yourAction(param, anotherParam));
        expect(generator.next().value).toEqual(call(api.yourApi, param, anotherParam));
        // assert that it executed the failureAction after error was thrown
    expect(generator.throw('error').value).toEqual(put(actions.failureAction());

  });
});

Обратите внимание, что это модульное тестирование, где вы проверяете, что сага выполнена должным образом в соответствии с порядком действий и цепочки эффектов внутриЭто.Более подробную информацию можно получить на tedux-saga-testing .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...