小编Joh*_*ook的帖子

Jest 手动模拟在 CRA 中不使用模拟文件

我有一个 CRA 应用程序,正在尝试使用Jest的手动模拟功能,但我的手动模拟似乎没有应用。

我使用的基本网址src(通过在 中设置tsconfig.json)。简化,我有一个文件结构

src/
|- components/
|-- Foo/
|--- index.js
|--- Foo.jsx
|- App.js
|- App.test.js
Run Code Online (Sandbox Code Playgroud)

在哪里App.js使用import Foo from "components/Foo". 在App.test.js我想Foo被嘲笑(它的计算量很大并在单元测试中进行了测试)。所以在我的测试中,我添加了,jest.mock("components/Foo")并在绝望中添加了几个__mocks__文件夹,例如

__mocks__
|- components\
|-- Foo.jsx
src/
|- __mocks__/
|-- components/
|--- Foo.jsx
|- components/
|-- Foo/
|--- __mocks__
|---- Foo.js
|--- index.js
|--- Foo.jsx
|- App.js
|- App.test.js
Run Code Online (Sandbox Code Playgroud)

每个手动模拟包含

console.log("Mock imported");

export default function MyMock(){
  console.log("Mock used");
  return <p …
Run Code Online (Sandbox Code Playgroud)

mocking reactjs jestjs create-react-app

7
推荐指数
1
解决办法
1047
查看次数

标签 统计

create-react-app ×1

jestjs ×1

mocking ×1

reactjs ×1