reactjs – 如何使用jest测试React类中渲染以外的函数?

我正在尝试在我正在构建的React应用程序上执行一些TDD.使用jest我能够测试我的渲染函数,看看我是否得到了我期望渲染的东西.如果我想在课堂上测试其他一些功能怎么办?我该如何掌握它?例如,这是一个React类:
var moment = require('moment');
var React = require('react');
var utils = require('./utils');

module.exports = React.createClass({
    days: function() {
        var days = [];
        var nextMonth = this.daysFromNextMonth(days,numberOfDays);
        return days;
    },daysFromNextMonth: function(days,numberOfDays) {
        ...
    },render: function() {
        var that = this;
        var days = this.days().map(function(day,i) {
            return <li key={day}>{day}</li>
        return (
            <ul className='monthly-view'>
                {days}
            </ul>
        );
    }
});

我想抓住我的日子或daysFromNextMonth函数,看看他们是否正在返回我期望的内容.我试着开玩笑地抓住这个函数

it('should show an render',function() {
    var result = DailyView.daysFromNextMonth(day,10)
    ....
});

我的错误说我没有方法daysFromNextMonth.我该如何解决

您需要渲染组件以在其上引用方法(类似于在使用实例方法之前实例化类):
var view = TestUtils.renderIntodocument(<DailyView />)
var result = view.daysFromNextMonth(day,10)

然后,您可以调用任何实例方法.

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...