Я использую googletest/googlemock (GTest/GMock). Я могу протестировать приведенный ниже код только тогда, когда Selection
естественным образом возвращает false. Как бы я смоделировал приведенный ниже пример проблемы?
У меня возникают трудности с изменением возвращаемого значения selection, потому что он использует реальный код.
class frame
{
bool Selection();
void Actions();
};
void frame::Action()
{
if (Selection())
{
// do something
}
else
{
// do something else
}
}
void WrapAction()
{
Frame->Action();
}
TEST_F(UITest, ActionWithSelectionTrue)
{
EXPECT_CALL(*Frame, Selection()).WillOnce(Return(true));
WrapAction();
}
TEST_F(UITest, ActionWithSelectionFalse)
{
EXPECT_CALL(*Frame, Selection()).WillOnce(Return(false));
WrapAction();
}
Selection()
может вернутьtrue
/false
? Как вы можете привести свой класс в такое состояние, используя только общедоступные функции? - person Yksisarvinen   schedule 28.02.2019frame
не имеет зависимостей, нечего издеваться, поэтомуEXPECT_CALL
бесполезен. - person Marek R   schedule 28.02.2019