aWe*_*per 12 javascript reactjs jestjs
我有如下文件
widgets
|
--tabs
|
-- __mocks_
|
-- index.ts
-- index.ts
--button
|
-- __mocks_
|
-- index.ts
-- index.ts
Run Code Online (Sandbox Code Playgroud)
它在文件中导入/使用为
import { Button } from 'common/widgets/button';
Run Code Online (Sandbox Code Playgroud)
我可以单独嘲笑其中的每一个。
jest.mock('common/widgets/tabs');
jest.mock('common/widgets/button');
Run Code Online (Sandbox Code Playgroud)
但是有没有一种方法可以模拟它们,例如将所有这些添加到文件中并导入它们,或者像下面使用公共模拟文件夹和索引文件一样。
jest.mock('common/widgets');
Run Code Online (Sandbox Code Playgroud)
你可以这样做(PS所有函数和函数调用仅用于演示:
文件夹结构
小部件/按钮/index.js
// demonstration
const someFunction = () => {
console.log("widgets/button")
}
export default someFunction;
Run Code Online (Sandbox Code Playgroud)
小部件/选项卡/index.js
// demonstration
const someFunction = () => {
console.log("widgets/tabs")
}
export default someFunction;
Run Code Online (Sandbox Code Playgroud)
小部件/index.js
export { default as Button } from './button/index';
export { default as Tabs } from './tabs/index';
Run Code Online (Sandbox Code Playgroud)
-- 用法 您可以在任何文件中以名为 import 的方式导入函数。例如: /any/file.js
import { Button, Tabs } from 'common/widgets'
...
Run Code Online (Sandbox Code Playgroud)
因此,您应该能够将它们导入到单个模拟文件中。
模拟/index.js
jest.mock('common/widgets');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4378 次 |
| 最近记录: |