我想知道设置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