Тестирование класса, использующего другой
От: DaStartuper  
Дата: 12.09.10 19:19
Оценка:
Добрый день. Решил попробовать тестирование, и сразу напоролся на вопрос, который не знаю, как решить.

Делаю тест в отдельном проекте.

Имею примерно следующие файлы/классы (показано сразу содержимое .h и .cpp файлов):

class Obj
{
public:
    int Prop() const;
};

int Obj::Prop() const
{
    return что-нибудь;
}

и
#include "Obj.h"

class ObjProcessor
{
public:
    int DoProcessing(const Obj& a);
};

int ObjProcessor::DoProcessing( const Obj& a )
{
    if (a.Prop())
        return -1;

    return 0;
}


Как организовать тестирование класса ObjProcessor? Когда я подключаю его .h-ник в проект теста, он автоматически тянет за собой файлы класса Obj, при попытке переопределения последнего, само собой, компилятор ругается на это переопределение. Можно, конечно, передавать в ObjProcessor интерфейс, а не класс, но это бывает неприемлемо. В то же время искусственное управление состоянием реального Obj тоже может быть невозможным, если он с какой-нить мудреной логикой. Как тут действовать тогда, что-то я не соображу.

P.S. Может, конечно, сегодняшний марафон виноват, и завтра мозг вместе с ногами очухается, будет чувствовать себя приемлемо и выдаст решение; а ну как нет?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.