使用 jest-next-dynamic 测试动态导入

Posted

技术标签:

【中文标题】使用 jest-next-dynamic 测试动态导入【英文标题】:Jest testing dynamic import with jest-next-dynamic 【发布时间】:2021-12-09 22:54:47 【问题描述】:

我正在尝试在 nextjs 版本 10.2.3 中测试动态导入,我尝试使用避免抛出错误的 jest-next-dynamic 库

类型错误:require.resolveWeak

但是当我在 jest 测试用例中调试组件时,我得到低于输出并且无法获得应该加载的真实组件

 <ForwardRef(LoadableComponent) .../>

我的测试用例

it('should render Image component from next/Image', () => 
  await preloadAll();
  defaultProps = getDefaultProps(imgSrcFromAssetsLocation);
  const ContainerImage = shallow(<ContainerImage  ...defaultProps  />);
  console.log(ContainerImage.debug());
  expect(ContainerImage.prop('layout')).toEqual('responsive');
);

【问题讨论】:

【参考方案1】:

一段时间后,我发现我们需要使用 waitFor 或类似的东西等待动态元素加载到测试用例中,“jest-next-dynamic”的文档不包括这个,我从下面的 github repo 中找到了这个 github repo with example

【讨论】:

以上是关于使用 jest-next-dynamic 测试动态导入的主要内容,如果未能解决你的问题,请参考以下文章

为采集动态网页安装和测试Python Selenium库

Jest 循环遍历动态测试用例

具有动态输入支持的负载测试工具

使用具有动态生成的字段的表单测试控制器

如何使用phpunit在具有动态URI的laravel中测试REST api

如何在 Codeception 命令行的验收测试中使用动态 url