Перемешивание WebGLRenderer и трех других библиотек js для тестирования с использованием jest - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь смоделировать импорт three.js и пытался создать контекст webgl с помощью jest, но всегда получаю

Error in mounted hook: "TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'."

это потому, чтоwebgl: - renderer.domelement не возвращает элемент canvas в макете. ниже мой код, который я пытаюсь выполнить

jest.mock('three', () => {
  const THREE = require.requireActual('three')
  return {
    ...THREE,
    WebGLRenderer: class WebGlRenderer {
      WebGlRenderer () {
        this.renderer = new THREE.WebGLRenderer({ antialias: true, logarithmicDepthBuffer: true, shadowMap: { enabled: true } })
        return this.renderer
      }
      setSize () { return jest.fn() }
      setPixelRatio () { return jest.fn() }
      setClearColor () { return jest.fn() }
    }

  }
})

Ожидается, что он должен добавить купольный элемент (то есть элемент HTMLCanvas к существующему документу. body)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...