Как я могу протестировать Cookies.get с помощью шутливого тестирования
У меня есть папка util.js, в которой я вызываю функцию
const fullObjectStr = Cookies.get(cookieName);
Итак, я хочу проверить это с помощью шутки. Как я могу это сделать?
Я пробовал несколько вещей из этого вопроса: Как издеваться над Cookie.get( 'язык') в JEST, но это не работает.
1 ответ
Вы можете использовать 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
Похожие вопросы
Связанные вопросы
Новые вопросы
cookies
Файл cookie HTTP - это фрагмент данных, сохраняемый веб-браузером пользователя. Если не указано иное, файлы cookie можно создавать, считывать, изменять и удалять как с помощью JavaScript, так и со стороны сервера через заголовки HTTP.