PHPUnit:对于tearDown()方法未处理的变量会发生什么情况?
我想知道PHPUnit:对于tearDown()方法未处理的变量会发生什么情况?,php,unit-testing,phpunit,Php,Unit Testing,Phpunit,我想知道PHPUnit\u Framework\u TestCase和children中tearDown方法中的变量设置null是否仅仅是一种形式,或者是否有实际用途 例如: protected function tearDown(){ $this->someUsedVariable=null; } 附言:我的意思是,使用的变量在脚本结束时不会被销毁吗?当然,它们在脚本结束时会被销毁。一旦启动了测试套件,您的脚本就不会直接结束,因为您可能会执行成百上千个测试用例,如果没有正确地删除,
PHPUnit\u Framework\u TestCase
和children中tearDown
方法中的变量设置null
是否仅仅是一种形式,或者是否有实际用途
例如:
protected function tearDown(){
$this->someUsedVariable=null;
}
附言:我的意思是,使用的变量在脚本结束时不会被销毁吗?当然,它们在脚本结束时会被销毁。一旦启动了测试套件,您的脚本就不会直接结束,因为您可能会执行成百上千个测试用例,如果没有正确地删除,所有这些测试用例加在一起迟早会耗尽所有内存/填充到数据库(等)的最大连接数
通过将变量设置为null,可以允许垃圾收集器在激活后释放已使用的内存。脚本结束后,变量将被销毁。
拆卸有助于删除测试期间生成的数据,例如数据库中的数据或生成的文件。我明白了。。你有没有从zend studio运行phpunit?我的有点慢,我想知道是我自己还是每个人都会这样。我已经有一段时间没有使用phpunit了(现在正在使用Ruby)。您可能想检查xdebug并分析什么在说这么长时间。PHPUnit保留对每个测试用例实例的引用,直到所有测试完成并打印出最终结果。将测试用例实例变量设置为
null
允许GC删除它们,只要没有其他变量保存引用。