Задать вопрос
@anriko

Как правильно тестировать функцию и мокать которая вызывает функцию?

Исходная функция вот openFormNewItemEdit
Хочу проверить , что actionopenFormNewItemEdit получила data ,и она равна дате в тесте?
как правильно замокать не совсем понимаю
и может правильней делать снапшоты результатов таких функций?
let props = {
        data: {
            name: "Мои заметки № 1",
            text: "Мои заметки № 1",
            time: 1636283818894,
            key: "-Mnu6P7dMJTeVv8VESLh",
            keychapter: "0"
        },
        keychapter: "0",
        keyitem: "-Mnu6P7dMJTeVv8VESLh",
        index: 1,
        attrdata: "all",
        del: false,
    }
let actionopenFormNewItemEdit = jest.fn(data, dispatch){ return data};
или так надо сделать 
let actionopenFormNewItemEdit = () => { return { name: props.data.name, text: props.data.text, activ: true, keychapter: props.keychapter, keyitem: props.keyitem } };
expect(instance.openFormNewItemEdit()).toBe({ name: props.data.name, text: props.data.text, activ: true, keychapter: props.keychapter, keyitem: props.keyitem });


openFormNewItemEdit = () => {
        let data = { name: this.props.data.name, text: this.props.data.text, activ: true, keychapter: this.props.keychapter, keyitem: this.props.keyitem };
        actionopenFormNewItemEdit(data, this.props.dispatch);
    }


и так пытаюсь не получается

Matcher error: received value must be a mock or spy function

Received has type: function
Received has value: [Function actionopenFormNewItemEdit]

test('TaskItemContainer openFormNewItemEdit', () => {
        instance.openFormNewItemEdit();
        expect(actionopenFormNewItemEdit).toBeCalled();
    });
  • Вопрос задан
  • 112 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽