Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Simpletest PHP“;PHP的单元测试;,获取错误消息";已弃用:通过引用指定new的返回值已弃用";_Php_Deprecated_Simpletest - Fatal编程技术网

使用Simpletest PHP“;PHP的单元测试;,获取错误消息";已弃用:通过引用指定new的返回值已弃用";

使用Simpletest PHP“;PHP的单元测试;,获取错误消息";已弃用:通过引用指定new的返回值已弃用";,php,deprecated,simpletest,Php,Deprecated,Simpletest,我刚开始使用simpletest:for PHP,并且在我的服务器上使用PHP5.2*,当我尝试根据他们的演示设置初始测试脚本时,我会看到一个充满错误的页面,如下图所示。。。我不确定这是否与simpletest与PHP5不兼容有关。*或者问题是什么,请提供任何见解。。似乎我仍然可以使用库,因为它在错误下面返回似乎合适的内容,但我想了解这一点,以便修复它。。谢谢 下面是我用来调用simpletest函数的php代码示例 <?php require_once('C:/wamp/www/ext

我刚开始使用simpletest:for PHP,并且在我的服务器上使用PHP5.2*,当我尝试根据他们的演示设置初始测试脚本时,我会看到一个充满错误的页面,如下图所示。。。我不确定这是否与simpletest与PHP5不兼容有关。*或者问题是什么,请提供任何见解。。似乎我仍然可以使用库,因为它在错误下面返回似乎合适的内容,但我想了解这一点,以便修复它。。谢谢

下面是我用来调用simpletest函数的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”意味着一些旧的方式,可能不会被未来版本的php支持。它不应该有害,但是应该由simpletest开发人员来处理。您是否下载了最新版本的simpletest?
如果您想了解,请查看第74行和第89行的unit_tester.php。

您确定在运行单元测试时使用的是5.2而不是5.3吗?我似乎记得在5.3下运行的PEAR包中看到了这些错误。

在学习simpletest教程时,我也遇到了这个问题


为了消除这些消息,我将
php.ini
文件中的
display\u errors=On
设置更改为
display\u errors=Off

,而不是关闭所有错误。另一种方法是对所有simpletest文件执行查找和替换:查找“&new”并替换为“new”
new
by reference(
&new
)只是一个例子,所以希望在下一个SimpleTest版本中能够解决这个问题。

自从PHP5.2发布以来,使用
&new
是不必要的(从PHP5.0开始就已经有了,但有一些问题)。收到这些内容的弃用警告标志着您看到了PHP4代码,这些代码可能会从一些新的语言特性中受益。禁用弃用警告将隐藏这些好处,由于这与测试相关,因此也将隐藏被测试系统的重要信息。
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