Мне интересно, эффективна ли частная проверка единиц тестирования?
Обычно должен проверяться только открытый интерфейс.
Тем не менее, я обнаружил, что во время сложного вычисления, который вызывает тонны различных частных методов, сначала unit test приватные методы, а затем сделать простой тест для метода открытого интерфейса.В качестве примера предположим, что у вас есть аудиоплеер, и у вас есть функции:
void play(){ ... }
void pause(){ ... }
void seek(time t)
{
//All Private methods
checkIfValidTimeRange(...);
moveToFilePos(...);
fillBuffers(...);
}
Обычно я пишу модульные тесты для: checkIfValidTimeRange(...)
, moveToFilePos(...)
, fillBuffers(...)
.
Но я не уверен, что это хорошая практика.