【发布时间】:2013-02-15 16:25:45
【问题描述】:
我在单元测试中遇到了这种奇怪的情况,当我必须检查不能手动创建的返回值的函数(值)时。事实上,这个函数是为创建这个值而设计的。所以像这样测试(javascript和QUnit框架):
asyncTest("UTF-8 - ArrayBuffer conversion", 1, function() {
var arrayBuffer;
var testUtf8 = "łużyński";
var blob = new Blob([testUtf8]);
var f = new FileReader();
f.onload = function(e) {
arrayBuffer = e.target.result;
start();
};
equal(utf8ToArrayBuffer(testUtf8), arrayBuffer, "UTF-8 to ArrayBuffer, OK!");
});
是多余的,因为准备arrayBuffer变量与返回值进行比较实际上与使用utf8ToArrayBuffer(testUtf8)相同,所以测试看起来像这样:
equal(utf8ToArrayBuffer(testUtf8), utf8ToArrayBuffer(testUtf8), "UTF-8 to ArrayBuffer, OK!");
我应该测试这样的东西还是放弃它?或者也许有另一种方法?
【问题讨论】:
标签: javascript unit-testing qunit redundancy