[英]How to pass React component as regular JS to react-test-renderer
[英]Error to execute component test with react-test-renderer and storybook in a react app
我在做故事書教程<\/a>,但是在我創建和運行測試時的教程部分中,這會引發異常,指示文件.storybook\/config.js<\/strong>中出現以下錯誤:
日志錯誤<\/strong>
react-scripts test
FAIL src/storybook.test.js
Test suite failed to run
TypeError: require.context is not a function
2 | import "../src/index.css";
3 |
> 4 | const req = require.context("../src", true, /\.stories.js$/);
| ^
5 |
6 | function loadStories() {
7 | req.keys().forEach(filename => req(filename));
at Object.context (.storybook/config.js:4:21)
at configure (node_modules/@storybook/addon-storyshots/dist/frameworks/configure.js:38:11)
at Object.load (node_modules/@storybook/addon-storyshots/dist/frameworks/react/loader.js:26:26)
at loadFramework (node_modules/@storybook/addon-storyshots/dist/frameworks/frameworkLoader.js:31:17)
at testStorySnapshots (node_modules/@storybook/addon-storyshots/dist/api/index.js:53:36)
at Object.<anonymous> (src/storybook.test.js:2:1)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 6.812s
Ran all test suites related to changed files.
您應該使用requireContext
而不是require.context
:
將包添加到開發依賴項:
yarn add --dev require-context.macro
並在配置中導入並使用它,您的配置應該類似於 gthis:
import { configure } from "@storybook/react";
import requireContext from 'require-context.macro';
import "../src/index.css";
const req = requireContext('../src', true, /\.stories\.js$/);
function loadStories() {
req.keys().forEach(filename => req(filename));
}
configure(loadStories, module);
運行這一行: yarn add --dev require-context.macro
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.