【发布时间】:2011-04-26 14:04:07
【问题描述】:
我正在测试我的一个函数,我想测试是否使用该代码中的正确参数调用了特定函数。
因此,我像这样覆盖原来的函数:
var oldSort = sort;
sort = function(array) {
this.arrayToSort = array;
}
然后我执行它并检查属性sort.arrayToSort是否设置为我传入的值并重新分配原始函数:
sort(myArray);
deepEqual(myArray, sort.arrayToSort);
sort = oldSort;
但是,我无法像那样访问sort.arrayToSort。如何设置函数的属性以使其成为可能?现在,我在 sort 函数上方声明一个变量并对其进行设置,但我宁愿将其作为函数的属性以保持其范围较小。这可能吗?
【问题讨论】:
-
这是你自己的 deepEqual 函数还是你使用了一些 javascript 库?什么线路导致问题?您能否包含完整的 javascript 而不是这两个 sn-ps。
-
我正在使用 QUnit,这是一个测试用例。我写了这个 sn-p 来重现我在生产系统中遇到的一个问题,我无法发布它的代码。
标签: javascript unit-testing function properties mocking