LINUX.ORG.RU

История изменений

Исправление vertexua, (текущая версия) :

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

Исходная версия vertexua, :

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