首页 > 解决方案 > 有状态组件的酶返回 null

问题描述

所以,大家好。

我对酶有问题,我不知道为什么。

但我有这个组件:

class Controller extends React.Component<ControllerProps & RouteProps, {}> {
    public state = {
        role: '',
    }

    public updateEmploeeList = (state): void => {
       console.log(state)
    }

[....]
}

我正在做这个测试:

import React, {Component} from 'react'
import {shallow} from 'enzyme'
import Controller from '../../../src/Components/Controller/Controller'
import '../setupTests'
import {withRouter, RouteProps} from 'react-router-dom'

describe('Link', () => {
    it('Renders link to Google', () => {
        const controller = shallow<any>(<Controller hideFilter={false} RouteProps={RouteProps} />)
        const createInstance = controller.instance().updateEmploeeList('as')

        expect(createInstance).toBeCalledWith('as')
    })
})

但我收到这条消息:

TypeError: Cannot read property 'updateEmploeeList' of null

但这并不是null因为它是一个有状态的组件。

有人知道错误在哪里吗?

标签: javascriptreactjsjestjsenzyme

解决方案


推荐阅读