reactjs - 用 enzyme : Unexpected token in mount() 测试

标签 reactjs jestjs enzyme

我正在尝试进行 enzyme 测试以进行 react 。

我做了一个简单的测试,安装一个导入组件并检查状态:

import React from 'react';
import { expect } from 'chai';
import { mount } from 'enzyme';

import WorkOutForm  from './workOutForm';

describe('<WorkOutForm>', () => {
    describe('workoutForm component', () => {
      it('should start a new workoutForm with empty state', () => {
        const component = mount(<WorkOutForm />);

        expect(component).toEqual({})
        expect(component.state().tempoGasto).toEqual(null)
        expect(component.state().tipoAtividade).toEqual(null)
        expect(component.state().data).toEqual(null)
        component.unmount()
      })
    })
})

但是当我运行时 npm run test我得到:

Jest encountered an unexpected token const component = mount()



我试着像 doc但我看不到我的错误。

Obs:我按照 Jest 开始,然后运行:
npm i --save babel-jest @babel/core @babel/preset-env --dev

我在根目录中添加了一个 babel.config.js 文件,内容如下:
module.exports = {
    presets: [
      [
        '@babel/preset-env',
        {
          targets: {
            node: 'current',
          },
        },
      ],
    ],
  };

这是我的 webpack:
    module: {
        loaders: [{
            test: /.js[x]?$/,
            loader: 'babel-loader',
            exclude: /node_modules/,
            query: {
                presets: ['es2015', 'react', '@babel/preset-env'],
                plugins: ['transform-object-rest-spread']
            }
        }, {
            test: /\.css$/,
            loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
        }, {
            test: /\.woff|.woff2|.ttf|.eot|.svg*.*$/,
            loader: 'file'
        },



    ]
}

最佳答案

请尝试在您的 package.json jest 配置中添加以下内容:

"transform": {
  "\\.js$": "<rootDir>/node_modules/babel-jest"
},

确保您安装了 babel-jest先打包

关于reactjs - 用 enzyme : Unexpected token in mount() 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57683487/

相关文章:

javascript - 当我在 this.state 中映射一个填充数组时,为什么它返回未定义?

javascript - 测试具有多个 Promise 的 Jest 方法

vue.js - 如何在 Jest 测试中使用 nuxt 运行时配置变量

unit-testing - 使用 Jest 忽略文件扩展名

javascript - 使用 enzyme 测试对 React 组件状态的更改并监视实例方法

unit-testing - 使用 Mocha 和 Enzyme 测试使用 React CSS 模块的 React 组件

node.js - 托管没有端口的 Nodejs 应用程序

javascript - 如何在 Docker 上部署的 React JS 应用程序中隐藏 API key 和 secret

javascript - 选择日期时不会触发 React onBlur

ruby-on-rails - coffee.ERB 文件的 Jest 测试