我在用@storybook/react
6 in a create-react-app
项目。
我对所有商店/对象等进行了数千次测试和模拟。
这些模拟利用jest.fn()
.
我想在我的故事书故事中重复使用这些模拟,但它说jest is not defined
这是有道理的。
我想知道在运行故事书时是否有一种简单的方法可以使笑话在全球范围内可用。
目前我正在添加import jest from 'jest-mock'
在我使用的每个模拟文件中,但我想知道是否有更好的解决方案。
Example:
test.stories.tsx
import React from 'react';
export default {
title: 'Test'
};
export Test = () => <button onClick={jest.fn()}>Test</button>;
将编译但不会运行 ->jest is not defined
error
import React from 'react';
import jest from 'jest-mock';
export default {
title: 'Test'
};
export Test = () => <button onClick={jest.fn()}>Test</button>;
工作正常,但我想避免导入jest-mock
到处。
您可以通过将以下行添加到以下内容来确保模拟在您的所有故事中可用preview.js
文件在你的项目中.storybook
folder:
import jest from 'jest-mock';
window.jest = jest;
来自故事书文档 https://storybook.js.org/docs/react/configure/overview#configure-story-rendering:
将 Preview.js 用于全局代码(例如 CSS 导入或 JavaScript
模拟)适用于所有故事。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)