【问题标题】:Cannot find module when using jest in nx在 nx 中使用 jest 时找不到模块
【发布时间】:2021-07-06 07:06:54
【问题描述】:

我有一个 nx 工作区,我正试图将其转移到 jest 中。起初我收到一个关于 PointerEvent 未定义的错误。建议的解决方法是进行 Object.defineProperty(window, 'PointerEvent'...它。我在 test-setup 中导入它,就像你导入 jest-preset-angular 一样。它在我转换的前 15 个库中工作,但最新的一个在运行测试时抛出此错误。

我已经将这个库与我能想到的所有其他库进行了比较,没有区别。我完全没有想法。说我对这项努力感到沮丧是轻描淡写的。希望有人在那里有一个大型的 nx 回购并处理了这个问题。似乎我得到的每个答案都假设我选择 nx 只有一个应用程序和一两个库。我无法提供回购,因为这个错误是如此随机,我不知道如何重现它。 je-test-helper 在 node_modules 中,正如我所说的,它的所有其他相同用法都有效。

【问题讨论】:

    标签: ts-jest nrwl-nx jest-preset-angular


    【解决方案1】:

    在非常相似的环境中遇到同样的问题 在 jest.config.js 中尝试了有关导入和模块目录、root... 的所有内容

    运气不好

    在一天结束时,它看起来像 jest-runner-groups 包问题

    为什么? 因为我试图通过组运行器只运行一个测试,但是当我尝试运行所有测试(不使用运行器)或来自 IDE(VS 中的 jest runner 扩展)的一个特定测试时,它会 通过

    因此我认为解决方案可能会以不同的方式运行测试。(?我不知道)

    在 test.spec.ts 文件中我使用以下注释:

    /**
     * @group runthis
     */
    import {...
    

    我如何在控制台中运行它:

    npm run test:unit -- -group=runthis

    package.json

    ...
    scripts:
     "test:unit": "jest",
    ...
    devDepencies:
     "jest-runner-groups": "^2.1.0",
    

    jest.preset.js

    const nxPreset = require('@nrwl/jest/preset');
    module.exports = {
      runner: 'groups',
      ...
    

    【讨论】:

      猜你喜欢
      • 2020-02-04
      • 1970-01-01
      • 2020-08-30
      • 2021-04-24
      • 2022-01-18
      • 1970-01-01
      • 2022-08-20
      • 2020-03-23
      • 1970-01-01
      相关资源
      最近更新 更多