Тестирование на assert в рамках Boost Test
Я использую платформу Boost Test для модульного тестирования моего кода C ++ и спрашиваю себя, можно ли проверить, будет ли функция утверждать? Да, звучит немного странно, но терпите меня! Многие из моих функций проверяют входные параметры при входе, утверждая, что они недействительны, и было бы полезно проверить это. Например:
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, поэтому я подумал, не было ли там какой-то магии утверждения ...