Тестирование на 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, поэтому я подумал, не было ли там какой-то магии утверждения ...

Ответы на вопрос(6)

Ваш ответ на вопрос