微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何正确测试函数内部的调度错误:预期 setSelectedDates 被调用一次但被调用了 0 次 这是onClickRect(data)setSelectedDates(startDate, endDate)HoOperations.spec.js

如何解决如何正确测试函数内部的调度错误:预期 setSelectedDates 被调用一次但被调用了 0 次 这是onClickRect(data)setSelectedDates(startDate, endDate)HoOperations.spec.js

我有一个调用 onClickRect(data) 函数setSelectedDates(startDate,endDate) 函数。我正在尝试为 onClickRect(data) 函数添加单元测试,但出现以下错误

enter image description here

这是onClickRect(data)

onClickRect = (data) => {
 this.props.setSelectedDates(
  moment(data.date).startOf('day'),moment(data.date).endOf('day')
 );
}

setSelectedDates(startDate,endDate) 从道具中传递。它是在 date-selection.js 中定义的,这里是它的定义方式

setSelectedDates(startDate,endDate)

export function setSelectedDates(startDate,endDate) {
    return (dispatch) => {
        dispatch({
            endDate,startDate,type: actions.SET_SELECTED_DATE
        });
    };
}

这是我的 spec 文件,我将 date-selection.js 中的所有内容导入为 dateSelectionCreator

HoOperations.spec.js

import React from 'react';
import { expect } from 'chai';
import { shallow } from 'enzyme';
import sinon from 'sinon';
import moment from 'moment';
import * as dateSelectionCreator from '../../../../../src/creators/date-selection';

describe('HoOperations test suite',() => {
 beforeEach(() => {
  setSelectedDates: () => {}
 });

 it('should test click on a rectangle',() => {
   const wrapper = shallow(<HoursOfOperationChartBodyV2 {...defaultProps}/>);
   const data = {
      date: moment('06/07/2021')
   };
   wrapper.instance().onClickRect(data);
   const stub = sinon.stub(dateSelectionCreator,'setSelectedDates');
   sinon.assert.calledOnce(stub);
 });
});

有人可以澄清我在这里做错了什么吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?