我使用名为EdgeJS的TypeScript编写了graph measurement library。 我还使用Jasmine编写单元测试来验证它是否正确。
问题是我测试失败,根本原因,我认为,我有一个函数来初始化填充为零而不是undefined的数组,并且初始化方法似乎“记住”它已初始化的数组,这会影响结果
您可以在控制台输出中看到unit test page that this line打印出的数组,其中包含数字,而不仅仅是我预期的零。
答案 0 :(得分:1)
我把这个简短的例子放在一起。
如果您可以提供从EdgeJS代码获得的控制台输出的详细信息,这可能有助于确定这一点。
实施例
class ArrayUtilities {
private arrayOfZeros(n: number) : number[] {
var a: number[] = [];
for (var i = 0; i < n; i++) {
a[i] = 0;
}
console.log("New array", a);
return a;
}
test() {
var a: number[] = this.arrayOfZeros(5);
for (var i = 0; i < a.length; i++) {
a[i] = 1;
}
console.log("Updated array", a);
var b: number[] = this.arrayOfZeros(6);
var c: number[] = this.arrayOfZeros(2);
}
}
var au = new ArrayUtilities();
au.test();
我得到以下输出......
New array[0, 0, 0, 0, 0]app.js?1 (line 8)
Updated array[1, 1, 1, 1, 1]app.js?1 (line 16)
New array[0, 0, 0, 0, 0, 0]app.js?1 (line 8)
New array[0, 0]app.js?1 (line 8)