4

我正在尝试为使用 jest、puppeteer 和 jest-image-snapshot 编写的 webgl 渲染器编写快照测试。我测试的方式是我编写了一个 react 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 为空。以前有人遇到过这个问题吗?

4

0 回答 0