【问题标题】:Jest is throwing type errors from dependent node_modulesJest 从依赖的 node_modules 抛出类型错误
【发布时间】:2019-07-05 16:10:09
【问题描述】:

我正在使用 Jest + Enzyme 对 react 应用程序进行单元测试,并且我还使用我公司拥有的依赖库作为 node_modules ,它们在 Javascript (ES6) 中,但我的应用程序和我的测试脚本在 TypeScript 中,所以在这里运行测试 Jest 正在从这些库(node_modules)中抛出类型错误,如下图所示,Abstract.jsx 来自依赖的 node_modules

我在 jest config 中使用以下设置,但没有帮助,如何解决这种连续的类型错误。请帮忙

"globals": {
  "ts-jest": {
    "diagnostics": false
  }
},

【问题讨论】:

    标签: reactjs typescript unit-testing jestjs babeljs


    【解决方案1】:

    ,Abstract.jsx 来自依赖的 node_modules

    模块应该带有编译 .js 文件。好像没有

    选项

    选择一个:

    • 请模块作者发布构建的.js文件(推荐)
    • 自己构建它们。将.jsx 添加到.js 构建工作流到您的设置中。

    【讨论】:

    • 感谢您的回复,有两件事,我想知道如何使用 .jsx 进行常规构建(在单元测试用例之前),为什么 ts 编译器不会抛出此类错误。第二件事,我将 babel 升级到 7.0+,它抛出“.sourceMap 是 .sourceMaps 的别名,不能同时使用两者”错误如果您知道在哪里删除源映射,请您帮助我,我没有在 babel 中使用过源映射.config.js,我在 webpack.config.js 中也评论了 devtool,
    • 这是我的 babel.config.js module.exports = { 预设:[[“@babel/preset-env”,{目标:“节点 11.0”,模块:“commonjs”}], "@babel/preset-react" ], env: { test: { 预设: [["@babel/preset-env"]], 插件: [ ["@babel/plugin-transform-modules-commonjs"], [ "@babel/proposal-class-properties", {松散: true }], ["transform-es2015-modules-commonjs"], ["@babel/plugin-proposal-decorators", { decoratorsBeforeExport:true }] ] } } };
    • 这里 babel_loader 模块的 webpack 配置:{ rules: [ { test: /\.(tsx?)$/, exclude: /node_modules/, loader: ['babel-loader'] },
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2021-07-14
    • 1970-01-01
    • 2020-11-28
    • 2018-07-12
    • 2016-07-10
    • 1970-01-01
    相关资源
    最近更新 更多