0

我最近发现,类似于“Out”参数修饰符(我没有更好的描述),存在一个“In”修饰符。

例子:

被测函数的定义:

void someStubbedFunc(uint8* outPtr, uint8* inPtr)
{
    //we write something onto outPtr, and somehow use inPtr.
    *outPtr = *inPtr + 1;
}

在测试代​​码中:

uint8 readbackStorageVar = 0;
uint8 inputVar = 5;
uint8* localPtr = &inputVar;
mocks_p->ExpectCallFunc(someStubbedFunc).With(Out(readbackStorageVar), In(localPtr));

预期的行为是将 6 分配给 localValue2。现在我的问题:

我理解并欣赏“Out”修饰符——在这种情况下,someFunc 通常会将内部计算的返回值写入变量 value1,我们可以使用“Out”为我们的模拟实现这一点。但是在应用“In”时增加了什么功能?

对我来说,这听起来像是一个输入参数,类似于离开“In”:

mocks_p->ExpectCallFunc(someFunc).With(Out(readbackStorageVar), localPtr);
4

0 回答 0