Jest тесты для функций
Как составить jest тест для функции
const createTask = taskData => { return fetch(baseUrl, { method: 'POST', headers: { 'Content-Type': 'application/json;charset=utf-8', }, body: JSON.stringify(taskData), }); }; Как-то я не так делаю видимо.. Создал файл для тестов и внутри пишу: import { createTask } from "../tasksGateway"; it("should return response", () => { const task = createTask({ text: "abcde" }); const baseUrl = "https://62d57413d4406e52355b320b.mockapi.io/api/v1/todo-list"; expect( fetch(baseUrl, { method: "POST", headers: { "Content-Type": "application/json;charset=utf-8", }, body: JSON.stringify({ text: "abcde" }), }).toEqual(response.json()) ); }); |
Цитата:
|
Цитата:
const baseUrl = 'https://62d57413d4406e52355b320b.mockapi.io/api/v1/todo-list'; export const getTasksList = () => { return fetch(baseUrl).then(response => response.json()); }; export const createTask = taskData => { return fetch(baseUrl, { method: 'POST', headers: { 'Content-Type': 'application/json;charset=utf-8', }, body: JSON.stringify(taskData), }); }; |
NovichokJS,
Возможно кто-то другой вам поможет... |
import { createTask } from "../tasksGateway"; it("should return response", () => { const task = createTask({ text: "abcde" }); const baseUrl = "https://62d57413d4406e52355b320b.mockapi.io/api/v1/todo-list"; expect( fetch(baseUrl, { method: "POST", headers: { "Content-Type": "application/json;charset=utf-8", }, body: JSON.stringify({ text: "abcde" }), }).toEqual(response.json()) ); }); Если отформатировать код, то выявляется несколько багов: 1. неиспользуемая переменная task в 6-й строке; 2. у класса Response нет метода toEqual в строке 21; 3. неопределенная переменная response в строке 21. Предположу, что «.toEqual(response.json())» должно быть перенесено на строку ниже + «response» должно быть заменено на «task». UPD. Ну и не забывайте, что fetch возвращает не результат, а Promise<Response<any>>, т.е. в expect попадет экземпляр Promise, а не Response и тем более не ответа сервера в JSON. Тоже самое касается и переменной task. Переменную «baseUrl» лучше создать в одном месте, а во все другие места где она нужна просто её импортировать. |
Часовой пояс GMT +3, время: 12:42. |