2010-11-09 104 views
5

使用boost::test框架,有没有一种方法可以检测某个函数是否抛出了某种异常(某种类型的异常)?在Boost :: test中报告异常

+0

可能重复http://stackoverflow.com/questions/172854/how-do-you-specify这是一个例外,应该是预期使用升压测试) – Ferruccio 2010-11-09 17:59:46

回答

6

您是否想在某些情况下测试某个函数是否正确抛出? 如果是这样的话

BOOST_CHECK_THROW(function(), exception_type); 

会做到这一点。您可以使用

BOOST_CHECK_EXCEPTION(function(), exception_type, predicate) 

调用异常上的任意谓词时,它的捕获和

BOOST_CHECK_NO_THROW(function()) 

,以确保功能不会抛出。

参见:http://www.boost.org/doc/libs/1_44_0/libs/test/doc/html/utf/testing-tools/reference.html

的[?你如何指定异常应使用如Boost.Test预期(
+0

这就是我正在寻找。 – 2010-11-09 17:53:46