ReactJS-单元测试不模拟点击

时间:2018-11-16 11:27:10

标签: javascript reactjs

作为Java开发人员和新手来应对我一直困扰于单元测试:

import React from 'react';   
import ReactDOM from 'react-dom';
import SurveyEditor from './EditorEditor';
import ReactTestUtils from 'react-dom/test-utils';
import TestRenderer from 'react-test-renderer';

it('creates new section upon fucntion call', () => {
    //  editor itsels if root
    const editor = TestRenderer.create(<Editor/>).root;

    const button = editor .findByProps({ id: 'createNew'});
    expect(button).toBeDefined();

    ReactTestUtils.Simulate.click(button);


    expect(editor .instance.state.sections.length).toBe(1);
}

它呈现了一个组件,按预期找到了按钮-但没有调度模拟点击(代码本身可以正常运行,我已验证了它)-显然我错过了一些显而易见的事情。

1 个答案:

答案 0 :(得分:0)

您可能想为按钮上的onClick事件创建一个存根,然后断言该存根已被调用。有关更多信息,请查看https://github.com/jamiebuilds/react-test-renderer

上的自述文件。