【发布时间】:2018-04-05 00:57:23
【问题描述】:
Next.js dynamic() HOC 组件并不是很容易测试。我现在有 2 个问题;
- 第一个笑话是无法正确编译动态导入(
require.resolveWeak is not a function- 似乎是由下一个 babel 插件添加的) - 其次,我无法很好地覆盖
modules逻辑;看起来它在尝试渲染动态组件时根本没有运行。
【问题讨论】:
-
运气好吗? @Simon Boudrias
-
我也对此感兴趣。似乎唯一的方法是从 jest 中公开一个模拟的 require.resolveWeak ,或者拥有一个不会使用下一个 js 使用的 handler-imports 插件逻辑的自定义 babel 插件。有关将导入更改为 requrie.resolveWeak 的插件,请参见 github.com/zeit/next.js/blob/…
-
继续模拟下一个/动态...
jest.mock('next/dynamic', () => () => 'Dynamic') -
你能添加一个模拟动态导入的例子吗?我必须对此进行测试: const DynamicDrawer = dynamic({ loader: () => import('./SimpleDrawer/index'), loading: () => null, });但我收到此错误:警告: 使用了不正确的大小写。对 React 组件使用 PascalCase,对 HTML 元素使用小写。%s
标签: reactjs webpack babeljs jestjs nextjs