如何使用Boost指定应预期的异常.测验

How do you specify that an exception should be expected using Boost.Test?

本文关键字:异常 测验 何使用 Boost      更新时间:2023-10-16

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

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

这不管用吗?

BOOST_CHECK_THROW (expression, an_exception_type);

如果表达式抛出给定的异常类型,则这将导致测试通过,否则将失败。如果需要与"CHECK"不同的严重性,也可以使用BOOST_WARN_THROW()BOOST_REQUIRE_THROW()。请参阅文档

您还可以使用BOOST_CHECK_EXCEPTION,它允许您指定验证异常的测试函数。