0
我对单元测试比较陌生。我正在编写一个小型的JavaScript库,在这里我优先考虑了一个友好的API,为了方便使用,导致某些方法重叠。我应该如何对许多重叠的代码进行单元测试?
举一个简单,假设的例子,考虑以下因素:
var BasicMath = function() {};
BasicMath.prototype.multiply = function(numA, numB) {
return numA * numB;
};
BasicMath.prototype.square = function(num) {
return this.multiply(num, num);
};
我应该怎样单元测试代码?
请注意,.square()
只是一种方便的方法,它除了将参数两次传递给.multiply()
外,什么都不做。
考虑到这一点,我应该:
- 写两种方法相似(甚至相同的)单元测试?
- 测试
.square()
调用.multiply()
与某些参数? (我的理解是,这是不好的做法,因为它过分依赖于这个方法的实现细节。) - 没有测试
.square()
可言,因为它本质上是多余的.multiply()
? - 测试仅
.square()
的更一般的方面(如参数类型,数量等),以避免冗余与.multiply()
?
或者一些其他的办法?
请注意,上面的代码只是一个人为的例子 - 我问一个更普遍的问题,如何单元重叠/冗余功能性的测试方法。