История изменений
Исправление
vertexua,
(текущая версия)
:
Я не уверен что в плюсах есть всякие магические либы, потому просто предлагаю использовать подход Dependency Injection. Тоесть передавать зависимости компонентов класса через конструктор. Таким образом если ты получаешь доступ к компоненту через интерфейс, то можно реализовать этот интерфейс по другому, с заглушками. И в юнит-тесте протестировать что были вызваны методы заглушки. Такие mock классы писать скучно и неинтересно, потому обычно такое умеют всякие магические mock фреймворки делать. Они делают такой подклас интерфейса, что он записывает все вызовы своих методов и можно проверять факт их вызова, очередность и задавать что эти методы возвращают тестируемому компонету
Исходная версия
vertexua,
:
Я не уверен что в плюсах есть всякие магические либы, потому просто предлагаю использовать подход Dependency Injection. Тоесть передавать зависимости компонентов класса через конструктор. Таким образом если ты получаешь доступ к компоненту через интерфейс, то можно реализовать этот интерфейс по другому, с заглушками. И в юнит-тесте протестировать что были вызваны методы заглушки. Обычно такое умеют всякие магические mock фреймворки делать. Они делают такой подклас интерфейса, что он записывает все вызовы своих методов и можно проверять факт их вызова, очередность и задавать что эти методы возвращают тестируемому компонету