Jest和Enzyme使用ES6 Arrow功能测试React Component

问题描述 投票:3回答:1

我已经在运行webpack 2的React项目中添加了Jest和Enzyme。在运行jest时,我在React Component中使用ES6箭头函数时遇到了错误。

组件代码示例如下:

import React, { Component } from 'react';

class Add extends Component {
    constructor(props){
        super(props);
        this.state = this.defaultState();
    }

    defaultState = () => {
        return {
            name : ""
        }
    }
    onChange = (e) =>{
        this.setState({
            name: e.target.value
        });
    }
    handleAdd = (e) => {
        e.preventDefault();
        this.props.onAdd(this.state.name);
    }

    render= () => {
        return (
            <form>
        <!-- more markup -->
            </form>
        );
    }


}

export default Add;

Jest在运行测试套件时失败了,我是否需要在我的软件包json / babelrc中添加任何内容以启用箭头功能测试?

reactjs jestjs enzyme
1个回答
6
投票

确保你安装了babel-jest,然后在你的bablerc中你应该有es2015,stage-0,并在预设中作出反应

© www.soinside.com 2019 - 2024. All rights reserved.