模拟文件是否捆绑在构建中?
Do mock files get bundled in the build?
我正在使用 create-react-app
。
为了测试 React 组件,我使用 Jest 和模拟文件。
我将测试文件和附加模拟文件放在组件旁边,就像这样的文件结构:
components
- account
-- Account.js
-- Account.test.js
-- __mocks.js
- another-feature
....
当我 运行 yarn build
时,模拟文件也会被捆绑吗?
Yarn(或 npm)依赖于您指定的入口点。然后 webpack 从入口点开始遍历每个 import
。然后会发生 tree-shaking。最后所有收集到的东西都打包了。
Jest 以不同的方式工作:它通过文件名模式搜索测试、模拟和快照。然后每个单独的测试文件都成为 webpack 的入口点,而 运行.
所以这些是 2 个独立的流程,特殊的 files/directories(如 __mocks__
)或仅测试文件所需的文件(如你的情况下的 __mocks.js
)不会转到捆绑。
我正在使用 create-react-app
。
为了测试 React 组件,我使用 Jest 和模拟文件。
我将测试文件和附加模拟文件放在组件旁边,就像这样的文件结构:
components
- account
-- Account.js
-- Account.test.js
-- __mocks.js
- another-feature
....
当我 运行 yarn build
时,模拟文件也会被捆绑吗?
Yarn(或 npm)依赖于您指定的入口点。然后 webpack 从入口点开始遍历每个 import
。然后会发生 tree-shaking。最后所有收集到的东西都打包了。
Jest 以不同的方式工作:它通过文件名模式搜索测试、模拟和快照。然后每个单独的测试文件都成为 webpack 的入口点,而 运行.
所以这些是 2 个独立的流程,特殊的 files/directories(如 __mocks__
)或仅测试文件所需的文件(如你的情况下的 __mocks.js
)不会转到捆绑。