有沒有什麼好的方法來單元測試析構函數?就像說我有一類這樣的(人爲)例如:單元測試析構函數?
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文件使用#ifdef來測試或破壞了封裝被刪除?我看到的主要問題是很難判斷x是否真的被刪除,特別是因爲在調用析構函數時對象超出了範圍。
我鄙視這個想法。您無法啓用單元測試代碼並啓用了優化功能,或者您的編譯器發生了變化 – 2008-11-23 02:42:32
我同意由於您提到的原因,它不是很好,並且您無法訪問專用指針。一般來說,我認爲你的想法(和onebyone的)更好,但使用模擬對象並不總是微不足道的。 – 2008-11-23 03:53:23