使用Typemock Isolator ++。 伪方法的返回值是否可能基于参数的值?
例如:
WHEN_CALLED(student->GradeOfCourse("a")).ReturnVal(70);
WHEN_CALLED(student->GradeOfCourse("b")).ReturnVal(85);
然后如果参数是(" a"),它将返回70。
如果参数是(" b")那么它将返回85。
答案 0 :(得分: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中找到相关示例。