在React中使用Jest测试功能的返回值

Mod*_*ion 2 javascript testing reactjs jest

我将如何在此React代码的“ doSomethingFancy”函数中测试返回值?我试图找到一个超级简单的示例,却什么也找不到。因此,我想编写一个测试来检查是否返回了数字2。我知道它并没有真正返回任何东西,因为我以编写示例为例,因此我可以学习如何为React应用程序编写测试。任何帮助将不胜感激。

import React from 'react';

class FancyStuff extends React.Component {
    render() {
        return <div>
            <h1>
                Hello, {this.props.name}
            </h1>

            <button onClick={this.doSomethingFancy}>
                Add 1 + 1!
            </button>
        </div>;
    }

    doSomethingFancy(e) {
        e.preventDefault();
        let value = 1 + 1;
        return value;
    }
};

export default FancyStuff;
Run Code Online (Sandbox Code Playgroud)

EMC*_*EMC 5

如果您需要在测试中访问类方法,则在包装器的实例方法返回时,它可以作为属性使用。

const wrapper = shallow(<MyComponent />);
expect(wrapper.instance().doSomethingFancy()).toEqual(true);
Run Code Online (Sandbox Code Playgroud)