javascript - React-testing-library 渲染函数抛出语法错误

标签 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,但没有成功。

最佳答案

老实说,我不知道这里的问题是什么。我只知道当我从 enzyme 切换到 react 测试库时会发生这种情况。 注意:恢复为 enzyme 无效。

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

关于javascript - React-testing-library 渲染函数抛出语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56900883/

相关文章:

javascript - 使用 javascript 循环并提交多个表单,无需重新加载页面

Javascript - Azure 函数 blob 存储绑定(bind)与 sdk

c++ - C++ 中的回归测试

selenium - Xpath 不适用于 Selenium 中的 MouseOver(CatMenu)

android - 无法在我的手机上测试应用程序 : Failure [INSTALL_FAILED_OLDER_SDK]

javascript - 在 $.Deferred.done() 中调用很快

JavaScript:列表不显示

css - ReactTable 组件中的固定列

javascript - ReactJS : Only render element if array has values

javascript - react native 如何在点击 onPress 时调用多个函数