摩卡测试和three.js;三个没有定义

时间:2018-02-18 21:50:15

标签: javascript three.js mocha

我正在尝试对使用THREE.js的Vector3类的代码运行一个简单的Mocha单元测试:

import {Vector3} from 'three';
const a = new Vector3(0, 0, 0);

当这是通过Mocha运行时(实际上mocha-webpack是精确的,其中webpack设置为目标'node'而不是'web'),我得到了

RUNTIME EXCEPTION  Exception occurred while loading your tests
ReferenceError: THREE is not defined

正如您所看到的,我在测试代码中没有引用名称THREE。结果是THREE是在three.js的源代码中定义的(全局?)对象。但是,由于某种原因,它现在不可用。如何才能使上述测试代码正常工作?

1 个答案:

答案 0 :(得分:1)

发生此错误是因为在webpack配置中“three”列在“externals”中。从webpack的测试配置中删除所有外部设备解决了这个问题。