类型错误:require.requireActual 不是函数

Posted

技术标签:

【中文标题】类型错误:require.requireActual 不是函数【英文标题】:TypeError: require.requireActual is not a function 【发布时间】:2020-08-25 15:38:39 【问题描述】:

我在 Jest 测试中遇到错误:

 FAIL  test/storyshots.test.ts
  ● Test suite failed to run

    TypeError: require.requireActual is not a function

      1 | import initStoryshots from "@storybook/addon-storyshots"
      2 | 
    > 3 | initStoryshots(
        | ^
      4 |   configPath: "./storybook",
      5 |   framework: "react-native",
      6 | )

      at Object.load (node_modules/@storybook/addon-storyshots/dist/frameworks/react-native/loader.js:23:29)
      at Object.loadFramework [as default] (node_modules/@storybook/addon-storyshots/dist/frameworks/frameworkLoader.js:26:19)
      at testStorySnapshots (node_modules/@storybook/addon-storyshots/dist/api/index.js:48:14)
      at Object.<anonymous> (test/storyshots.test.ts:3:1)

我没有在我的代码中的任何地方使用requireActual。不过,看起来 Storybook 确实如此。

Google 搜索只出现了一个(已删除)*** 问题,没有答案。

【问题讨论】:

【参考方案1】:

Jest 不久前弃用了 require.requireActual,最近在 version 26 中弃用了 removed it。

降级到 Jest 25 来修复它,或者找到正在使用 require.requireActual 的软件包并让他们改用 jest.requireActual

编辑:Storybook v6.0.0-beta.3 包含一个添加 Jest v26 支持的更新。

【讨论】:

遇到了同样的错误,感谢上帝让您解决了这个问题。我的现在也在使用低版本的 Jest。 不适用于 6-beta.29 github.com/storybookjs/storybook/issues/10351

以上是关于类型错误:require.requireActual 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

js错误类型

js常见错误类型

错题本上的常见错误类型及改正方法

Flutter fromJson - 未处理的错误未处理的错误类型'String'不是'int'类型的子类型发生在实例中

我在尝试登录或注册时收到错误消息“错误类型‘AuthResult’不是类型转换中‘FirebaseUser’类型的子类型”

ASP.NET MVC前台解析JSON时,类型错误