我的雷模块:
define(['Util', 'Vector3f'], function (Util, Vector3f) {
var Ray = {}
Ray.o = null;
Ray.d = null;
Ray.depth = 0;
Ray.mint = 0.03;
Ray.maxt = null;
return Ray;
});
我的单元测试:
describe(".moveAlong(Number t)", function(){
it("returns a point at distance t in the direction of the ray",
function(){
expect(4).toBe(null); //unimplemented unit test always fails
});
});
Ray.o 是射线的起源。Ray.d 是射线的方向。我希望 Ray.moveAlong(t) 返回一个点 q,使得 q = o + d*t。
我对单元测试的理解是,如果我真的在单元测试中包含了我的 Vector3f 模块,这样我就可以给 Ray 一个起点和一个方向,我实际上在做的就是集成测试。但是我需要 Vector3f 模块中的 add() 和 mulScalar() 方法才能在 moveAlong(t) 中计算 ray.d + ray.d*t。
在这里处理我的 Vector3f 依赖项有哪些选择?我不知道如何合理地排除它,但排除依赖关系并一次只测试一种方法是单元测试的重点。