gpt4 book ai didi

javascript - 让 Jest 在故事书中全局可用

转载 作者:行者123 更新时间:2023-12-05 03:48:30 24 4
gpt4 key购买 nike

我在 create-react-app 项目中使用 @storybook/react 6。

我对所有商店/对象等进行了数千次测试和模拟。

这些模拟使用 jest.fn()

我想在我的故事书故事中重用这些模拟,但它说 jest is not defined 这是有道理的。

我想知道是否有一种简单的方法可以在运行故事书时让 jest 全局可用。

目前,我正在使用的每个模拟文件中添加 import jest from 'jest-mock',但我想知道是否有更好的解决方案。

例子:

test.stories.tsx

import React from 'react';

export default {
title: 'Test'
};

export Test = () => <button onClick={jest.fn()}>Test</button>;

会编译但不会运行 -> jest is not defined 错误

import React from 'react';
import jest from 'jest-mock';

export default {
title: 'Test'
};

export Test = () => <button onClick={jest.fn()}>Test</button>;

工作正常,但我想避免在任何地方都导入 jest-mock

最佳答案

您可以通过将以下行添加到项目的 .storybook 文件夹中的 preview.js 文件来确保模拟在您的所有故事中可用:

import jest from 'jest-mock';
window.jest = jest;

来自Storybook docs :

Use preview.js for global code (such as CSS imports or JavaScriptmocks) that applies to all stories.

关于javascript - 让 Jest 在故事书中全局可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64349461/

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