4

我有一个 nx 工作区,我正试图开玩笑。起初我收到一个关于 PointerEvent 未定义的错误。建议的解决方法是做一个 Object.defineProperty(window, 'PointerEvent'... 我的工作区有 200 多个库,所以在每个测试设置文件中添加它是不现实的,所以我创建了一个 npm 包来定义它。我在测试设置中导入它,就像你导入 jest-preset-angular 一样。它在我转换的前 15 个库中工作,但最新的库在运行测试时抛出此错误。

在此处输入图像描述

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

4

1 回答 1

1

在非常相似的环境中遇到同样的问题在 jest.config.js 中尝试了关于导入和 moduleDirectories、root 的一切

没运气

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

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

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

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

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

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

npm run test:unit -- -group=runthis

包.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',
  ...
于 2021-12-20T15:54:49.493 回答