javascript - 在 React 中使用 Jest 测试函数的返回值

标签 javascript reactjs testing jestjs

我将如何测试此 React 代码中“doSomethingFancy”函数的返回值?我试图找到一个 super 简单的例子,但找不到任何东西。所以我想编写一个测试来检查是否返回了数字 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;

最佳答案

如果您需要在测试中访问类方法,它将作为包装器实例方法返回时的属性提供。

const wrapper = shallow(<MyComponent />);
expect(wrapper.instance().doSomethingFancy()).toEqual(true);

关于javascript - 在 React 中使用 Jest 测试函数的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46711679/

相关文章:

javascript - 在 contenteditable 元素中自定义文本光标

testing - Webkit 浏览器和自动化

objective-c - Xcode 4.4 单元测试

javascript - 如何实现本地存储阵列?

javascript - Google Places API - 返回无效的街道号码

reactjs - React Redux 添加额外的操作字段导致 promise 以不同的方式返回

reactjs - 使用 react-dnd 和 useDrag 和 useDrop 进行测试

javascript - 从 javascript 对象中递归添加和删除值

asp.net-mvc - 符合 MVC 4 站点 508

javascript - 用户登录时在顶部显示用户名