2009-10-18 52 views

回答

3

它只在單元測試中有意義,因爲它的目的是提醒單元測試框架測試失敗,然後繼續。如果單元測試框架沒有運行,那是行不通的。

單元測試以外,您通常會想要使用assert的某種風格。

+0

謝謝,爲了答案,我更新了我的問題。 – 2009-10-18 11:59:29

+0

這究竟意味着什麼「單元測試框架正在運行」。這是否意味着它被排隊或我們在BOOST_AUTO_TEST_CASE? 如果我在BOOST_AUTO_TEST_CASE之外調用BOOST_CHECK_EQUAL,會發生什麼? (有或沒有測試框架鏈接?) – 2009-10-18 13:48:09

1

如果答案是「不」,那麼有沒有將我提供的所有宏 像CHECK_EQUALCHECK_CLOSE等C++庫?

簡短的回答是否定的。較長的答案:這些宏是Boost.Test的一部分。所以,如果你不使用Boost.Test,你將不得不推出自己的。

+0

我確實使用升壓測試。第一個問題是我是否無法在單元測試用例之外使用它們。 – 2009-10-18 13:45:53

+0

導入定義(即將定義這些宏的標題的特定部分複製粘貼到單獨的標題中並將其添加到項目中,但不希望整個Boost.Test隨代碼一起提供。) – dirkgently 2009-10-18 13:54:34

0

基於boost/assert或cassert編寫此功能相當容易。
但是,請注意,斷言可能需要一些定義(如調試)

相關問題