我想知道單元測試私有方法是否是一種好的做法?單元測試私有方法是一種好的做法嗎?
通常只有公共接口應該被測試。
不過,我已經發現了複雜的計算,它調用噸不同的私有方法時,更容易進行單元測試第一的私有方法,然後進行了公共接口方法的簡單測試。
作爲例子,讓我們假設你有一個音頻播放器,你有功能:
void play(){ ... }
void pause(){ ... }
void seek(time t)
{
//All Private methods
checkIfValidTimeRange(...);
moveToFilePos(...);
fillBuffers(...);
}
通常我會編寫單元測試:checkIfValidTimeRange(...)
,moveToFilePos(...)
,fillBuffers(...)
。
但我不確定如果這樣做是好的做法。
做什麼是有道理的..如果你的私人方法很複雜,爲什麼不測試它們? – 2012-02-08 23:02:16