Я пытаюсь использовать Truly Matcher, чтобы захватить переменную.
#include "gmock/gmock.h"#include "gtest/gtest.h"
void TestsClass::Set_Values(double TmpStmp, double Point_0_Y,
double Point_0_Width, double Point_0_Qual, bool RCom_Flag)
{
struct pData;
pData.var1 = TmpStmp;
pData.Point_0.Point_0_Y = Point_0_Y;
pData.Point_0.Point_0_Width = Point_0_Width;
pData.Point_0.Point_0_Qual = Point_0_Qual;
EXPECT_CALL(mockFunction, Function(_)).WillOnce(DoAll(SetArgPointee<0>(pData), Return(RCom_Flag)));EXPECT_CALL(
mockArHudModuleWrapper,
updatePackage(Matcher<const ArHud::MergedEgoLaneCenterLine&>(
Truly([p0Y = Point_0_Y] (const ArHud::MergedEgoLaneCenterLine package) -> bool {
package.getPoint(0) == p0Y;
return true;
})
)));
}
Как видите, я пытаюсь захватить p0Y.
Однако, когда я пытаюсь построить это, я получаю ошибку:
line 1813: error #20: identifier "p0Y" is undefined
EXPECT_CALL(
line 1813: error #17: expected a "]"
Я опустил определение фиктивного класса и другие части синтаксиса, так как не считаю их релевантными для этого случая.
Задача ещё не решена.
Других решений пока нет …