gpt4 book ai didi

javascript - 如何 Jest 模拟文件夹中的所有文件

转载 作者:行者123 更新时间:2023-12-05 00:25:48 26 4
gpt4 key购买 nike

我有如下文件

widgets
|
--tabs
|
-- __mocks_
|
-- index.ts
-- index.ts
--button
|
-- __mocks_
|
-- index.ts
-- index.ts
它在文件中导入/使用为
import { Button } from 'common/widgets/button';
我可以单独模拟其中的每一个。
jest.mock('common/widgets/tabs');
jest.mock('common/widgets/button');
但是有没有办法模拟它们,比如将所有这些添加到文件中并导入它们,或者像下面那样使用一个通用的模拟文件夹和一个索引文件。
jest.mock('common/widgets');

最佳答案

您可以这样做(P.S.所有函数和函数调用仅用于演示:

Folder structure


enter image description here
小部件/按钮/index.js
// demonstration
const someFunction = () => {
console.log("widgets/button")
}

export default someFunction;
小部件/选项卡/index.js
// demonstration
const someFunction = () => {
console.log("widgets/tabs")
}

export default someFunction;
小部件/index.js
export { default as Button } from './button/index';
export { default as Tabs } from './tabs/index';
-- 用法
您可以在任何文件中将函数导入为命名导入。例如。:
/any/file.js
import { Button, Tabs } from 'common/widgets'
...
因此,您应该能够将它们导入到单个模拟文件中。
模拟/index.js
jest.mock('common/widgets');

关于javascript - 如何 Jest 模拟文件夹中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68742788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com