私のレイモジュール:
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 = o + d*t となる点 q を返すようにします。
単体テストについての私の理解は、実際に単体テストに Vector3f モジュールを含めて、Ray に原点と方向を与えることができる場合、実際に行っていることは統合テストであるということです。しかし、moveAlong(t) で ray.d + ray.d*t を計算するには、Vector3f モジュールの add() メソッドと mulScalar() メソッドが必要です。
ここで私の Vector3f 依存関係を処理するためのオプションは何ですか? 合理的にスタブ化する方法はわかりませんが、依存関係をスタブ化し、一度に 1 つのメソッドだけをテストすることが単体テストのポイントです。