【问题标题】:Create React App cannot find tests创建 React App 找不到测试
【发布时间】:2018-09-11 03:30:58
【问题描述】:

我最近使用 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 文件夹识别为所有测试的新位置并运行它们?

【问题讨论】:

    标签: regex reactjs testing jestjs create-react-app


    【解决方案1】:

    来自create-react-app docs:

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

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

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

    希望对你有帮助

    【讨论】:

    • 我被同样的问题所困扰,原因是我的__tests__ 文件夹(就像你的tests 文件夹)是src 的对等体。但是,当我仔细阅读文档时,我意识到 __tests__ 必须嵌套在 src 文件夹中才能找到测试。所以你需要重命名(到__tests__)并移动(到src里面)你的文件夹才能找到它。
    猜你喜欢
    • 2019-08-09
    • 2020-08-09
    • 2023-03-10
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 2023-03-17
    相关资源
    最近更新 更多