Reactjs 玩笑以'失败;自我没有定义';导入反应图时

Reactjs 玩笑以'失败;自我没有定义';导入反应图时,reactjs,jestjs,ts-jest,Reactjs,Jestjs,Ts Jest,我正在尝试创建一个与npm依赖项交互的基本jest测试: 失败的测试 仅引用DiagramModel类会导致此错误: ReferenceError: self is not defined > 1 | import { DiagramModel } from '@projectstorm/react-diagrams' | ^ 2 | 3 | test('importing react diagrams', () => {

我正在尝试创建一个与npm依赖项交互的基本jest测试:

失败的测试 仅引用
DiagramModel
类会导致此错误:

    ReferenceError: self is not defined

    > 1 | import { DiagramModel } from '@projectstorm/react-diagrams'
        | ^
      2 |
      3 | test('importing react diagrams', () => {
      4 |     let x = DiagramModel

      at Object.<anonymous> (node_modules/@projectstorm/react-diagrams/dist/index.umd.js:1:331)
      at Object.<anonymous> (tests/DiagramModel.test.ts:1:1)
package.json 有什么办法可以补救吗

复制
在中添加了test+配置(但无法让测试运行程序获取它)。完整的

在经过一些测试后,它最终可用于此配置:

jest.config.js package.json:
您忽略了一个事实,
@projectstorm/react diagrams
是一个
react
库,它需要
dom
环境而不是
nodejs

,您需要提供一个可复制的示例,因为正如您在上看到的,根本没有此类问题。遗憾的是,没有效果。同样的错误我更新了我的答案以测试它是否与Jest TestenEnvironment有关,请让我知道它是否有效!救命恩人!我可以在24小时内奖励赏金:)
    ReferenceError: self is not defined

    > 1 | import { DiagramModel } from '@projectstorm/react-diagrams'
        | ^
      2 |
      3 | test('importing react diagrams', () => {
      4 |     let x = DiagramModel

      at Object.<anonymous> (node_modules/@projectstorm/react-diagrams/dist/index.umd.js:1:331)
      at Object.<anonymous> (tests/DiagramModel.test.ts:1:1)
module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
};
"jest": "^26.6.3",
"ts-jest": "^26.5.2",
...
module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'jsdom',
};
{
  "name": "jest-test",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "devDependencies": {
    "jest": "^26.6.3",
    "ts-jest": "^26.5.2"
  },
  "scripts": {
    "test": "jest"
  },
  "dependencies": {
    "@emotion/react": "^11.1.5",
    "@emotion/styled": "^11.3.0",
    "@projectstorm/react-canvas-core": "^6.5.2",
    "@projectstorm/react-diagrams": "^6.5.2",
    "@projectstorm/react-diagrams-routing": "^6.5.2",
    "closest": "^0.0.1",
    "dagre": "^0.8.5",
    "pathfinding": "^0.4.18",
    "paths-js": "^0.4.11",
    "react": "^17.0.2",
    "resize-observer-polyfill": "^1.5.1"
  }
}