C++ 如何使用Boost.Test指定预期的异常?

C++ 如何使用Boost.Test指定预期的异常?,c++,unit-testing,exception,boost-test,C++,Unit Testing,Exception,Boost Test,我有一个Boost单元测试用例,它会导致被测试对象抛出异常(这就是测试,导致异常)。如何在测试中指定预期的特定异常 我可以通过使用BOOST\u AUTO\u test\u CASE\u EXPECTED\u failures指定测试应该有一定数量的失败,但这似乎不太具体。我希望能够在测试中的某个特定点上说,应该抛出异常,而不应该将其视为失败。这不管用吗 BOOST_CHECK_THROW (expression, an_exception_type); 如果表达式抛出给定的异常类型,则应导致

我有一个Boost单元测试用例,它会导致被测试对象抛出异常(这就是测试,导致异常)。如何在测试中指定预期的特定异常

我可以通过使用BOOST\u AUTO\u test\u CASE\u EXPECTED\u failures指定测试应该有一定数量的失败,但这似乎不太具体。我希望能够在测试中的某个特定点上说,应该抛出异常,而不应该将其视为失败。

这不管用吗

BOOST_CHECK_THROW (expression, an_exception_type);

如果表达式抛出给定的异常类型,则应导致测试通过,否则将失败。如果需要与“检查”不同的严重性,也可以使用
BOOST\u WARN\u THROW()
BOOST\u REQUIRE\u THROW()
。请参见

您还可以使用BOOST\u CHECK\u EXCEPTION,它允许您指定验证异常的测试函数