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

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

有帮助吗?

解决方案

这不起作用吗?

BOOST_CHECK_THROW (expression, an_exception_type);

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top