我在想单元测试私有方法是否是一种好的实践?
通常只应测试公共接口。
然而,在复杂计算过程中,会调用大量不同的私有方法,此时先对私有方法进行单元测试,然后再为公共接口方法创建简单测试会更容易一些。
以音频播放器为例,您有以下函数:
通常只应测试公共接口。
然而,在复杂计算过程中,会调用大量不同的私有方法,此时先对私有方法进行单元测试,然后再为公共接口方法创建简单测试会更容易一些。
以音频播放器为例,您有以下函数:
void play(){ ... }
void pause(){ ... }
void seek(time t)
{
//All Private methods
checkIfValidTimeRange(...);
moveToFilePos(...);
fillBuffers(...);
}
通常情况下,我会为以下函数编写单元测试:checkIfValidTimeRange(...)
、moveToFilePos(...)
和fillBuffers(...)
。
但我不确定这样做是否是一个好的实践。