bool Test::someFun() {
if (libFunction([](bool b) {
if (b) {
doThisWork();
} else {
doThatWork();
}
})) {
return true;
} else return false;
}
подпись libFunction:
typedef void (*FUN)(bool);
bool libFunction(FUN f);
Привет, ребята, мне нужно протестировать функцию someFun с помощью Gtest / GMOCK. мне нужно издеваться над libFunction, которая написана в C. эта libFunction принимает аргумент обратного вызова (лямбда).
Не могли бы вы помочь мне с ниже 2 запросами.
- как смоделировать функцию C (libFunction)?
- как протестировать обратный вызов, который передается в качестве аргумента libFunction, поскольку моя настоящая реализация находится в лямбда-выражении, которое необходимо протестировать. Есть ли способ заменить определение libFunction на фиктивное определение, чтобы во время выполнения тестового примера моя фиктивная реализация вызывала вместо фактической, и я мог имитировать поведение libFunction в фиктивной функции. Не могли бы вы предложить лучший способ проверить это.