Я использую платформу Boost Test для unit test моего кода на С++ и задаюсь вопросом, можно ли проверить, будет ли функция утверждать? Да, звучит немного странно, но медведь со мной! Многие из моих функций проверяют входные параметры при вводе, утверждая, являются ли они недопустимыми, и было бы полезно проверить это. Например:
void MyFunction(int param)
{
assert(param > 0); // param cannot be less than 1
...
}
Я хотел бы сделать что-то вроде этого:
BOOST_CHECK_ASSERT(MyFunction(0), true);
BOOST_CHECK_ASSERT(MyFunction(-1), true);
BOOST_CHECK_ASSERT(MyFunction(1), false);
...
Вы можете проверить, не исключены ли исключения с помощью Boost Test, поэтому я подумал, есть ли еще какая-то маска утверждения...