W jaki sposób testować prywatne metody w gtest?
0
3
Przez ich publiczne interfejsy (choćby tymczasowe). Najlepiej jednak testować klasy przez metody publiczne i tyle.
1
Ja generalnie do testów frienduję sobie klasę testującą
namespace test{ class foo; };
class foo
{
friend class test::foo;
};
To jedno z nielicznych sensownych zastosowań tego słowa kluczowego.
3
Co do zasady, nie powinno się testować prywatnych metod, tylko publiczny interfejs. Ale jakbyś z jakiegoś powodu czuł, że Twoja sytuacja jest wyjątkowa, to gest ma FRIEND_TEST
właśnie dla takich sytuacji.
3
Jeśli metoda prywatna jest używana gdzie indziej to nie trzeba jej testować osobno.
Jeśli metoda prywatna nie jest uzywana to mozna ją skasować