Dzięki Shalom, niestety to kod używanego projektu ... projekt jest na etapie "nie dotykaj bo działa" brakuje tylko wymagań odnośnie unit testów (nie komentuj :) )
Za to mam jeszcze dwa pytanie :)
Powiedzmy ze w jakiejś funkcji która testuje mam takie fragment:
Message *msg = new Message(MessageType::Private, data);
if( msg ){
....
} else {
// allocation failed
}
W jaki sposób mogę przetestować fragment ... zamockować konstrukotra oczywiście nie mogę... wywoła się i zwróci adres zaalokowanej pamięci. Zmieniać tego kodu nie chce ani dodawać try catchów, może stub z licznikiem zwracający NULL lub "jakiś" adres ?
Pytanie numer dwa.
Powiedzmy ze mam klasę która nie ma w sobie żadnej metody wirtualnej, jeżeli chce ją przetestować to większy sens ma dodawanie virtual do metod i mockowanie używanych ... czy po prostu stworzenie instancji testowanej klasy wywołaniu metod i tak dobieranie parametrów żeby sensownie przetestować metody - sprawdzając wyniki za pomocą excpect calli ?
Pozdrawiam,