有什么好的方法来单元测试析构函数吗?就像说我有一个像这样(人为)的例子:
class X
{
private:
int *x;
public:
X()
{
x = new int;
}
~X()
{
delete x;
}
int *getX() {return x;}
const int *getX() const {return x;}
};
有什么好的方法可以对此进行单元测试,以确保 x 被删除,而不会用#ifdef TESTs 弄乱我的 hpp 文件或破坏封装?我看到的主要问题是很难判断 x 是否真的被删除了,特别是因为在调用析构函数时对象超出了范围。