TypeError: Не удается прочитать свойство 'bind' из неопределенного - ReactJS - Библиотека тестирования - PullRequest
0 голосов
/ 03 мая 2019

Я пишу тесты для секции рендера на контейнере, правильно ли визуализирована кнопка. Ниже код используется

it('should render translation inputs', () => {
            const wrapper = shallow(<COAForwardTranslations store ={storeData}/>)
            expect(wrapper.find('.btn-primary').length).toBe(1);

      });

Я получаю "Ошибка типа: не могу прочитать свойство 'bind' undefined". Не могли бы вы мне помочь, я переустановил

npm install --save-dev jest
npm install --save-dev babel-jest regenerator-runtime

но я все еще получаю ошибку.

Что я делаю не так, чтобы просто проверить, правильно ли отображается кнопка на контейнере.

class COAForwardTranslations extends Component
{
    constructor(props, context) {
        super(props, context);
        this.state = {
                SegmentMapRequest : {
                BranchCode: '',
                GroupId: '',
                GlCompanyCode: '',
                GlAccount: '',
                SourceMode: '',
                SourceSystem: '',
                JournalCategory: '',
                EffectiveDate: ''
            },
            segmentMapResponse:{}
        }
        this.handleRequestChange = this.handleRequestChange.bind(this);
        this.handleForwardTranslation = this.handleForwardTranslation.bind(this);
        this.handleReset = this.handleReset.bind(this);
    }

    handleRequestChange(e){
        let inputName = e.target.name;
        let inputValue = e.target.value;
        let requestCopy = Object.assign({}, this.state.SegmentMapRequest);
        requestCopy[inputName] = inputValue;
        this.setState({SegmentMapRequest: requestCopy});
    }
    handleForwardTranslation(e)
    {
        e.preventDefault();
        this.props.getForwardTranslation(this.state.SegmentMapRequest);
    }
handleReset()
    {
        this.setState({SegmentMapRequest: {
            BranchCode: '',
                GroupId: '',
                GlCompanyCode: '',
                GlAccount: '',
                SourceMode: '',
                SourceSystem: '',
                JournalCategory: '',
                EffectiveDate: ''
            },
            segmentMapResponse : {}
        });
    }

1 Ответ

0 голосов
/ 03 мая 2019

Проблема с

this.handleReset = this.handleReset.bind(this);

this.handleReset отсутствует в вашем коде, поэтому, когда вы пытаетесь вызвать .bind(), он выдает эту ошибку.

...