我们在写程序时会使用很多assert
做防御性编程,然而这些assert
却会给单元测试带来麻烦。一般地,assert
是定义在assert.h
里面的宏,因此,我们可以通过改变宏定义的方式,把这些assert
定义为CppUnit里面使用的断言。方法如下:
- 添加一个编译选项:
-DCPPUNIT_ENABLE_NAKED_ASSERT=1
- 把
#include <assert.h>改为
#include <cppunit/TestAssert.h>
这样就把assert(condition)
改变为CPPUNIT_ASSERT(condition)
。