我已经将CppUnit
和boost::test
用于 C++ 单元测试。通常我更喜欢boost::test
,主要是因为自动测试宏最大限度地减少了设置测试的工作量。但是我真的很怀念一件事CppUnit
:注册自己的“保护器”的能力,其实例会自动包装所有运行测试。(从技术上讲,您安装了一个测试“侦听器”,它可以将每个测试包装在一个保护器范围内)。
在过去,我发现这些对于监控单元测试的意外副作用非常宝贵(例如,检查代码没有更改浮点单元状态标志)。boost::test
我在文档中看不到任何等效项,尽管BOOST_FIXTURE_TEST_CASE
可能最接近。
关于如何最好地实现与 CppUnit 的保护器相同的事情的任何建议boost::test
?
(我还没有真正研究过boost::test
' 的实现,但如果它像CppUnit
它必须使用非常像保护器本身的东西)。