2010-11-09 152 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