Добрый день, форумчане и уважаемые анонимусы.
Есть код:
class Statistics
{
};
class Validate{
public:
virtual bool IsValid( Statistics & statistics) {return false; }
};
class Protocol{
protected:
Validate* validate;
public:
virtual bool ValidateTheOutput(const std::string& output, Statistics & statistics, std::string& message) const = 0;
};
class SomeProtocol: public Protocol {
public:
virtual bool ValidateTheOutput(const std::string& output, Statistics & statistics, std::string& message) const override
{
// собираем статистику
// ....
return validate->IsValid(statistics);
}
};
требуется покрыть код unit тестами.
Вопрос как правильно проверить ValidateTheOutput?
В часности, как проверять:
return validate->Isvalid(statistics);
Чтобы не скатиться в функциональное тестирование.
Второй вопрос, как вы покрываете тестами приватные методы? Наследование?