Здравствуйте, _nn_, Вы писали:
__>Имеется следующая иерархия:
__>__>struct a
__>{
__> a(int x)
__> void f(int x)
__> {
__> if(x>0) g(x);
__> else h(x);
__> }
__>protected:
__> virtual void g(int x) {}
__> virtual void h(int x) {}
__>};
__>
__>Мне нужно проверить что функции g, h вызываются.
__>Все это нужно для теста.
Если функции неконстантные, то они изменяют состояние объекта. Тест должен проверять имеенно это (выполнение постусловий), а не факт вызова конкретных функций. Соответственно для доступа к состоянию должны существовать какие-либо публичные методы (или другой способ доступа к observable state), которые и должны использоваться в тесте.