有没有好的方法来进行析构函数单元测试?比如说我有一个类像下面这个(虚构)的例子:
class X
{
private:
int *x;
public:
X()
{
x = new int;
}
~X()
{
delete x;
}
int *getX() {return x;}
const int *getX() const {return x;}
};
有没有好的方法进行单元测试以确保x被删除,而不会在hpp文件中弄乱#define TEST或破坏封装?主要问题是很难确定x是否真正被删除,特别是因为对象在析构函数调用时处于作用域之外。