如何为three.js编写单元测试?

时间:2013-03-04 05:03:49

标签: javascript unit-testing three.js webgl

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

我有一个3D观察器,里面有摄像机,渲染器,装载机等......我如何为这样的东西编写测试?那里有什么我能读到的东西吗?它甚至可能吗?

2 个答案:

答案 0 :(得分:0)

您可以测试预期状态的属性,也可以使用无头浏览器(例如铬)渲染预期图像和实际图像。如果您搜索测试WebGL,则会找到后者的示例

答案 1 :(得分:0)

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

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

采取的方法:

  1. 将所有全局变量(例如场景渲染器相机)移动到 index.html < / em>
  2. 在加载页面时将其初始化。例如在此reactjs示例中,它们在根组件的 componentDidMount()中初始化。其他功能可以使用此上下文。 (您可以通过运行 yarn start 进行检查)
  3. 在进行单元测试时,请在 setupTest.js 中对其进行初始化。我们将需要无头Webgl的其他开发依赖项- gl canvas
  4. 现在使用此设置,我们可以在 App.test.js 中运行测试(您可以通过运行 yarn test 进行检查)