Я пытаюсь решить мою проблему с модульным тестированием. У меня есть класс с QTcpSocket
объектом. Этот класс является производным от QObject
для использования системы сигнал / слот, а объект сокета используется внутри слотов.
Я пытался смоделировать (gmock) этот объект сокета, но я не мог найти никакого решения, чтобы включить фиктивный объект в мой класс.
Я не могу сделать это через шаблон, потому что компилятор MOC не работает с шаблонами. И я не могу создать общий интерфейс для QTcpSocket и моего ложного класса. Хотя QAbstractSocket имеет виртуальные методы, он имеет и не виртуальные методы, такие как waitForReadyRead()
. Это смущает меня.