canvas.getContext ("webgl") возвращает ноль при тестировании с кукловодом и шуткой - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь написать тестовые снимки для рендерера webgl, который я написал, используя jest, puppeteer и jest-image-snapshot.Как я это тестирую, я написал реагирующее TestApp, которое содержит холст, как показано ниже:

export function TestApp(props: { width: number; height: number }): JSX.Element {
  return (
    <div
      id="drawing"
      style={{
        ...props
      }}
    >
      <DrawingCanvas canvasProps={props} renderBehavior={RenderBehavior.Wet} />
    </div>
  );
}

Мне нужно предоставить моему рендереру WebGLRenderingContext, который требуется при рендеринге сцены.Поэтому перед каждым тестом я делаю следующее:

beforeEach(async () => {
    div = document.createElement("div");
    document.body.appendChild(div);
    ReactDOM.render(<TestApp width={800} height={600} />, div);
    const canvas: HTMLCanvasElement = document.getElementById("drawing-canvas-wet");
    webglRenderer= new WebGLRenderer(canvas.getContext("webgl"));
    testPlayground = new TestPlayground(webglRenderer);
  });

Всякий раз, когда я вызываю canvas.getContext ("webgl"), возвращаемый WebGLRenderingContext является нулевым.У кого-нибудь была эта проблема раньше?

...