2015-03-25 3 views
1

Использование Typemock Isolator ++. Возможно ли, что возвращаемое значение из поддельного метода основано на значении параметра?C++ fake/mock возвращаемое значение на основе значения параметра

, например:

WHEN_CALLED(student->GradeOfCourse("a")).ReturnVal(70); 
WHEN_CALLED(student->GradeOfCourse("b")).ReturnVal(85); 

затем, если параметр ("а"), то он вернет 70.

и если параметр ("б"), то он будет возвращать 85.

ответ

2

Отказ от ответственности Я работаю в TypeMock

DoMemberFunctionInstead Использование или DoStaticOrGlobalInstead для перенаправления вызова на альтернативный метод - там вы можете вернуть Поменяй значение, основанное на значение параметра.

Добавить этот метод

int FakeGradeOfCourse(char * name) 
{ 
    if (strcmp(name,"a")==0) 
    { 
     return 70; 
    } 
    return 85; 
} 

В тестовом вызове:

WHEN_CALLED(student->GradeOfCourse(_)). 
    DoStaticOrGlobalInstead(FakeGradeOfCourse, NULL); 

Вы можете найти пример для этого в нашем docs.

Смежные вопросы