我想知道設置null
變量tearDown
方法和兒童是僅僅是形式或服務於某些實際目的。PHPUnit:tearDown()方法未處理的變量會發生什麼變化?
例子:
protected function tearDown(){
$this->someUsedVariable=null;
}
P.S:我的意思是,不使用的變量得到由腳本啦破壞?
我想知道設置null
變量tearDown
方法和兒童是僅僅是形式或服務於某些實際目的。PHPUnit:tearDown()方法未處理的變量會發生什麼變化?
例子:
protected function tearDown(){
$this->someUsedVariable=null;
}
P.S:我的意思是,不使用的變量得到由腳本啦破壞?
當然,它們在劇本末尾被銷燬。一旦你開始測試套件,你的腳本不會直接結束,因爲你可能會執行hundrets或數千個測試用例,所有這些測試用例遲早會佔用所有內存/填充最大值。如果沒有正確清除,連接數據庫的數量(等)。
通過將變量設置爲空,您允許垃圾回收器在激活後釋放已用內存。
變量在腳本結束後被銷燬。 tearDown有助於刪除測試過程中產生的數據,例如數據庫中的數據或生成的文件。
是的..我看到.. thx – 2011-04-16 23:03:41
我看到..你有沒有可能從zend工作室運行phpunit?我的速度有點慢,我想知道它是我還是它發生在每個人身上 – 2011-04-16 23:01:31
現在還沒有使用phpunit(現在正在使用Ruby)。你可能想檢查一下xdebug並分析這麼長時間的話題。 – halfdan 2011-04-16 23:03:29
PHPUnit會保留對每個測試用例實例的引用,直到所有測試已完成並打印出最終結果。只要沒有其他變量持有引用,將測試用例實例變量設置爲'null'允許GC刪除它們。 – 2011-04-18 06:02:38