ändern Implementierung Ihrer Methode set_enable
eine Hilfsmethode zu verwenden, wie folgt aus:
void set_enable(bool enabled = true) { set_enable_impl(enabled); }
nun in der Klasse MockA
, ein Mock-Methode für set_enable_impl
erstellen:
MOCK_METHOD1(set_enable_impl, void(bool));
Dann verwenden Sie einfach in Ihrem Produktionscode set_enable
wie Sie in erster Linie, während in Tests Sie ca n set Erwartungen Methode set_enable_impl
:
MockA mockA;
EXPECT_CALL(mockA, set_enable_impl(_))...;
Eine Alternative wäre, das Verfahren zu überlasten, indem Versionen mit Eins- und Null-Parametern. Es liegt an Ihnen zu bestimmen, welcher Weg für Ihren Fall besser funktioniert.
Es wäre besser gewesen, wenn es keine Änderung des ursprünglichen Codes nur für Testzweck gab. Übrigens akzeptiere ich deine Antwort als die beste, wenn es keinen anderen Weg gibt. – nyarlathotep108
@ nyarlathotep108 Es gibt eine Alternative, aber es muss auch der ursprüngliche Code geändert werden. Siehe meine aktualisierte Antwort. –
@ nyarlathotep108 Markieren Sie die Antwort als akzeptiert, wenn Sie keine bessere Lösung gefunden haben, oder teilen Sie sie uns bitte mit. –