React-Testing-Library渲染函数抛出语法错误

时间:2019-07-05 10:03:50

标签: javascript reactjs testing jestjs react-testing-library

我正在尝试在我的项目上使用react-testing-library。 问题是,我无法正确设置所有内容。

我所做的步骤:

  1. 我按照文档提示安装了@ testing-library / react和jest-dom。
  2. 我设置了jest.config.js:

    module.exports = {
        setupFilesAfterEnv: [
            '@testing-library/react/cleanup-after-each',
        ],
    };
    
  3. 我写了基本测试:

    import React from 'react';
    import App from '../App';
    import {render } from "@testing-library/react";
    
    it('renders without crashing', () => {
        const {asFragment} = render(<App/>);
        expect(asFragment).toMatchSnapshot();
    });
    

我得到的错误:

  4 |
  5 | it('renders without crashing', () => {
> 6 |     const {asFragment} = render(<App/>);
    |                                 ^
  7 |     expect(asFragment).toMatchSnapshot();
  8 | });
  9 |

我的package.json文件中的软件包版本:

"@testing-library/react": "^8.0.4",
"jest-dom": "^3.5.0",
"jest": "^24.8.0",
"react": "^16.6.3",
"react-dom": "^16.6.3",

我尝试了一些操作,例如不在本地从jest.config.js文件中进行清理,以使其正常工作,但似乎没有任何作用。

编辑:项目是使用CRA创建的。即使如此,我还是尝试按照建议配置babel和babel-jest,但没有用。

1 个答案:

答案 0 :(得分:0)

老实说,我无法说出问题所在。我只知道当我从酶切到反应测试库时会发生这种情况。 注意:恢复酶无效。

但是,我可以说出什么可行。这是基于CRA的项目,这意味着我隐藏了所有的babel,webpack和jest配置。我决定只运行npm eject来修复配置。但是,运行此命令后,测试将再次开始工作。