Получение данных из файлов cookie (js -cook ie) во время тестирования в Jest - PullRequest
0 голосов
/ 22 апреля 2020

Как я могу проверить Cookies.get с помощью jest-тестирования

У меня есть папка util. js, где я вызываю функцию

const fullObjectStr = Cookies.get(cookieName);

Итак, я хочу протестировать ее с помощью jest. Как я могу это сделать?

Я попробовал несколько вещей из этого вопроса: Как издеваться над Cook ie .get ('language') в JEST , но это не так работа.

1 Ответ

0 голосов
/ 23 апреля 2020

Вы можете использовать jest.spyOn (object, methodName) , чтобы высмеивать Cookies.get метод.

Например, main.js:

import Cookies from 'js-cookie';

export function main(cookieName) {
  const fullObjectStr = Cookies.get(cookieName);
  console.log(fullObjectStr);
}

main.test.js :

import { main } from './main';
import Cookies from 'js-cookie';

describe('61364508', () => {
  it('should pass', () => {
    const getSpy = jest.spyOn(Cookies, 'get').mockReturnValueOnce('123');
    const cookieName = 'sid';
    main(cookieName);
    expect(getSpy).toBeCalledWith(cookieName);
    getSpy.mockRestore();
  });
});

результаты модульного теста:

 PASS  stackoverflow/61364508/main.test.js (14.388s)
  61364508
    ✓ should pass (43ms)

  console.log stackoverflow/61364508/main.js:5
    123

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        16.256s

исходный код: https://github.com/mrdulin/react-apollo-graphql-starter-kit/tree/master/stackoverflow/61364508

...