7

本质上,我要问的是,有没有办法为我的 JavaScript 文件编写单元测试,以用于 three.js 库?

我有一个 3D 查看器,里面装有摄像头、渲染器、加载器等……我该如何为这样的东西编写测试?有什么我可以阅读的吗?甚至可能吗?

4

2 回答 2

1

我找到了一种以无头方式对 webgl/threejs 进行单元测试的方法。这不需要任何图像比较等。

https://github.com/AmitTeli/webgl-three-test

采取的方法:

  1. 将场景渲染器相机等所有全局变量移动到index.html
  2. 在加载页面时初始化它们。例如,在这个 reactjs 示例中,它们在根组件的componentDidMount()中初始化。其他函数可以使用此上下文。(您可以通过运行来检查yarn start
  3. 在进行单元测试时,在setupTest.js中初始化它们。我们将需要无头 webgl 的额外开发依赖项 - glcanvas
  4. 现在有了这个设置,我们可以在App.test.js中运行测试(你可以通过运行来检查yarn test
于 2020-04-05T15:13:57.177 回答
0

您可以测试预期状态的属性,也可以使用 chromium 等无头浏览器来呈现预期和实际图像。如果你搜索 testing WebGL,你会发现后者的例子

于 2018-10-10T13:32:27.527 回答