我正在构建一个具有一些公共和私有方法的类库.我希望能够对私有方法进行单元测试(主要是在开发时,但它也可能对将来的重构有用).
这样做的正确方法是什么?
我想知道单元测试私有方法是否是一个好习惯?
通常只应测试公共接口.
但是,我发现在复杂计算过程中,调用大量不同的私有方法,首先对私有方法进行单元测试更容易,然后对公共接口方法进行简单测试.
举个例子,假设你有一个音频播放器,你有功能:
void play(){ ... }
void pause(){ ... }
void seek(time t)
{
//All Private methods
checkIfValidTimeRange(...);
moveToFilePos(...);
fillBuffers(...);
}
Run Code Online (Sandbox Code Playgroud)
通常我会编写单元测试:checkIfValidTimeRange(...),moveToFilePos(...), fillBuffers(...).
但我不确定这样做是不是很好.