我最近使用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
文件夹识别为所有测试的新位置并运行它们?
答案 0 :(得分:3)
来自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'
而不是长的相对路径。 主机托管还有助于在大型项目中更快地找到测试。
希望它可以帮到你