我有一个 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)