或者我可以在常规代码中使用它吗?
如果答案是“否”,那么是否有 C++ 库可以为我提供所有宏,如 CHECK_EQUAL、CHECK_CLOSE 等?
它仅在单元测试中有意义,因为它的目的是提醒单元测试框架测试失败,然后继续。如果单元测试框架没有运行,那是行不通的。
在单元测试之外,您通常会想要使用某种风格的断言来代替。
如果答案是“否”,那么是否有 C++ 库可以为我提供所有宏,如
CHECK_EQUAL
、CHECK_CLOSE
等?
最简洁的答案是不。更长的答案:这些宏是 Boost.Test 的一部分。所以,如果你不使用 Boost.Test,你将不得不自己动手。
基于 boost/assert 或 cassert 编写此功能相当容易。
但是请注意,断言可能需要一些定义(例如 DEBUG)