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()
?
或者一些其他的辦法?
請注意,上面的代碼只是一個人爲的例子 - 我問一個更普遍的問題,如何單元重疊/冗餘功能性的測試方法。