创建 React App 找不到测试

IT技术 regex reactjs testing jestjs create-react-app
2021-05-14 12:02:56

我最近使用 create-react-app 启动了一个新项目。我将文件夹App.test.js从外部移动/src到根级/tests文件夹中,因此我的文件夹结构现在如下所示:

> node_modules
> public
> src
   ...
   App.js
> tests
   App.test.js
...

这是整个 App.test.js 文件:

import React from 'react';
import ReactDOM from 'react-dom';
import App from "../src/App";

it('renders without crashing', () => {
  const div = document.createElement('div');
  ReactDOM.render(<App />, div);
  ReactDOM.unmountComponentAtNode(div);
});

因此,当我尝试时npm run test,不会执行任何测试。它说找不到测试。如何让 create-react-app 将新/tests文件夹识别为所有测试的新位置并运行它们?

1个回答

create-react-app文档:

文件名约定 Jest 将查找具有以下任何流行命名约定的测试文件:

文件__tests__夹中带有 .js 后缀的文件。带有 .test.js 后缀的文件。带有 .spec.js 后缀的文件。.test.js / .spec.js 文件(或__tests__文件夹)可以位于 src 顶级文件夹下的任何深度。

我们建议将测试文件(或__tests__文件夹)放在他们正在测试的代码旁边,以便相对导入显得更短。例如,如果 App.test.js 和 App.js 在同一个文件夹中,则测试只需要import App from './App'而不是很长的相对路径。托管还有助于在更大的项目中更快地找到测试。

希望对你有帮助