Иногда при создании проекта может случиться так, что вы хотите протестировать текущую функциональность программы, но это невозможно сделать, потому что не созданы все необходимые методы или функции или часть функциональности еще отсутствует. Заглянем в Stub.

Что такое заглушка?
Заглушка — это метод с небольшим количеством кода или без него (существует только объявление, без реализации). Заглушка обычно содержит возвращаемое по умолчанию значение и параметры (которые могут измениться или не измениться в будущем). Цель заглушки - позволить программе выполняться со значениями по умолчанию в большинстве мест. По этому вы можете проверить, правильно ли работает программа.

Как это работает?
Предположим, у меня есть функция, которая получает данные из базы данных, но я не написал код для получения данных. У меня есть другая функция display(), которая вызывает метод getData() и отображает возвращенный массивList пользователю. Но IDK, работает ли функция display() или нет, потому что функция getData() сейчас не существует. Здесь я могу создать фиктивный список массивов в функции getData() и вернуть его в display(). Она будет работать как обычная функция, но не будет получать данные из базы данных. И я также могу проверить функциональность метода display().

Как это помогает?
Используя заглушку, вам не нужно снова и снова менять код. Просто вызовите функцию getData(), которая вернет фиктивные данные и не повлияет на поток выполнения, когда getData() действительно записывается.
Лично я часто использую заглушку (это экономит время в больших проектах).

Драйверы
Драйверы — это нечто противоположное заглушке. Драйверы - это полные функции. Драйвера используются для проверки корректности работы программы. Предоставляя некоторые фиктивные данные в качестве входных данных и проверяя, является ли полученный результат правильным или не основанным на требованиях.

Драйверы вызывают другие функции с предопределенными входами и выходами. Которые позволяют им проверить корректность функции или написанного кода.