我使用 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 检查抛出的异常,所以我想知道是否也有一些断言魔法......