Jasmine 和 Three.js Geometry 的异步加载

Jasmine and Three.js asynchronous loading of Geometry

我尝试使用 Jasmine 自动测试一些功能。我遇到的问题是我想测试 class 并且需要为所有相关测试加载几何图形。然而,由于测试执行时的异步加载,几何图形尚未加载且未定义,因此测试用例失败。知道如何确保在测试执行时加载几何图形吗?这里是加载几何体的片段

describe("Model Class", function() {
    var geometry; 

    beforeAll(function() {
        var loader = new THREE.STLLoader();
        loader.load( '../tests/testdata/cube_big.stl', function ( geo ) {
            geometry = geo;
        });
    });

我相信 beforeAll() 函数接受一个参数,您可以在异步操作完成时调用该参数:

beforeAll(function(done) {
    var loader = new THREE.STLLoader();
    loader.load( '../tests/testdata/cube_big.stl', function ( geo ) {
        geometry = geo;
        done();
    });
});