Я новичок в тестировании google и относительно новичок в C++ в целом. Рассматривая следующий упрощенный пример, что может быть хорошим общим подходом к тестированию CDeviceCreator? Мне обязательно нужен макет. Я читал о насмешливости в тесте Google, но с трудом понимаю это. Можете ли вы привести пример, характерный для этого случая. Заранее спасибо.Нужен хороший подход к тестированию фабричного класса в тесте Google
Это интерфейс для фабрики класса
class IDeviceCreator
{
public:
IDeviceCreator(){
};
virtual ~IDeviceCreator(){
};
virtual IDevice * CreateAnalogDevice() = 0 ;
virtual IDevice * CreateDigitalDevice() = 0 ;
};
Учитывая, что: CAnalogDevice и CDigitalDevice осуществляют чтения компакт-дисков
Это бетона класса фабрики
class CDeviceCreator : public IDeviceCreator
{
public:
IDeviceCreator(){
}
virtual ~IDeviceCreator(){
}
virtual IDevice * CreateAnalogDevice(){
IDevice * anlogDev;
anlogDev = new CAnalogDevice();
return anlogDev;
}
virtual IDevice * CreateDigitalDevice(){
IDevice * digDev;
digDev = new CDigitalDevice();
return digDev;
}
};
Спасибо за ваши отзывы. Вы правы, что использование реальных конструкторов создает аппаратные зависимости. По крайней мере, для моего конкретного случая. – MIbrah