我刚开始使用simpletest:http://www.simpletest.org/ for PHP,并且在我的服务器上使用PHP5.2*,当我试图根据他们的演示设置一个初始测试脚本时,我得到了一个充满错误的页面,如下所示……我不确定这是否与simpletest与PHP 5不兼容有关。*或者问题是什么,任何见解都值得感谢。看起来我仍然可以使用这个库,因为它在错误下面返回了看起来合适的内容,但我想了解一下这一点,这样我就可以修复它。谢谢
下面是我用来调用简单测试函数的php代码示例
<?php
require_once('C:/wamp/www/external/simpletest/simpletest/autorun.php');
class TestOfLogging extends UnitTestCase {
function testFirstLogMessagesCreatesFileIfNonexistent() {
@unlink(dirname(__FILE__) . '/../temp/test.log');
$log = new Log(dirname(__FILE__) . '/../temp/test.log');
$log->message('Should write this to a file');
$this->assertTrue(file_exists(dirname(__FILE__) . '/../temp/test.log'));
}
}
?>我得到的错误是:
Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\external\simpletest\simpletest\unit_tester.php on line 74
Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\external\simpletest\simpletest\unit_tester.php on line 89发布于 2010-07-04 04:28:19
"Deprecated“意味着做了一些过时的事情,可能不会被未来的php版本所支持。它不应该是有害的,但应该由最简单的开发人员来处理。你有没有下载最新版本的simpletest?如果想要理解,请看一下第74行和第89行的unit_tester.php。
发布于 2010-10-28 18:17:34
而不是关闭所有的错误,只需要switch off deprecation warnings。另一种方法是对所有最简单的文件进行查找和替换:查找"&new“并替换为"new”。new by reference (&new)仅仅是deprecated in PHP5.3,所以希望在下一个SimpleTest发行版中可以解决这个问题。
发布于 2010-07-04 04:38:31
在运行单元测试时,您确定使用的是5.2,而不是5.3吗?我似乎记得在5.3下运行的PEAR包中看到过这些错误。
https://stackoverflow.com/questions/3172619
复制相似问题