【发布时间】:2019-11-15 23:01:51
【问题描述】:
我正在尝试在我的项目中开始使用 react-testing-library。 问题是,我无法正确设置所有内容。
我做的步骤:
- 我按照文档的建议安装了 @testing-library/react 和 jest-dom。
-
我设置了 jest.config.js:
module.exports = { setupFilesAfterEnv: [ '@testing-library/react/cleanup-after-each', ], }; -
我写了基本测试:
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,但没有成功。
【问题讨论】:
-
你设置
babel和babel-jest了吗?您需要配置它们才能将 JSX 代码转换为 JavaScript -
同意@skyboyer,看起来你的测试中没有运行 babel。我建议你试试facebook.github.io/create-react-app 这样你就不用担心所有的配置了
-
我像@Gpx 建议的那样使用 CRA
-
它对你有用吗?
-
不,没有帮助..
标签: javascript reactjs testing jestjs react-testing-library