Cppunit 可以测试内存泄漏吗?
内存泄漏适合于集成后进行,并且也有专门的工具。对于某个代码单元来说,内存泄漏是难于测试的,单元内的未释放内存不等于会有内存泄漏。内存泄漏不是单元测试的内容,把内存泄漏扯到单元测试中来是吃力不讨好的。所有集成后才易于发现的问题,都不应该是单元测试的内容。
问:
Cppunit 可以测试内存泄漏吗?
答:
内存泄漏适合于集成后进行,并且也有专门的工具。对于某个代码单元来说,内存泄漏是难于测试的,单元内的未释放内存不等于会有内存泄漏。内存泄漏不是单元测试的内容,把内存泄漏扯到单元测试中来是吃力不讨好的。所有集成后才易于发现的问题,都不应该是单元测试的内容。
问:
感谢,不过cppunit也可以集成测试的吧?
答:
广义来说,测试比较高级的函数,如果底层函数不是打桩来代替,就可以算是集成测试。
狭义来说,集成测试就是测试模块之间的接口,接口是什么?还不就是函数。管它面向对象还是面向丈母娘,C/C++的单元和集成测试主要就是测试函数功能。这样说的话,CPPUNIT当然可以用于集成测试。
不过,集成测试也不测内存泄漏,内存泄漏测试应该是集成之后的事。内存泄漏测试是很简单的,VC系列都有这个功能,原理也简单:申请内存时记录一下,释放时再登记一下,系统退出后,一对比就出来结果了。要在单元和集成测试中来做,那就难了。鼻子用来呼吸,嘴巴用来吃饭,都很简单,硬要用鼻子来吃饭,那么...