2010-07-03 1 views
3

Я новичок в использовании simpletest: http://www.simpletest.org/ для PHP и использую PHP 5.2 * на своем сервере, когда я пытаюсь настроить начальный тестовый скрипт на основе их демонстрации, я получаю страницу с ошибками, подобными приведенной ниже ... Я не уверен, что это связано с тем, что simpletest несовместим с PHP 5. * или в чем проблема, любое понимание оценено. Кажется, что я все еще могу использовать библиотеку, поскольку она возвращает то, что кажется подходящим ниже ошибок, но я хотел бы это понять, поэтому я могу это исправить. спасибоИспользование Simpletest PHP «модульное тестирование для PHP», получение сообщения об ошибке «Устаревшее: назначение возвращаемого значения new по ссылке устарело»

Ниже приведен пример кода 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 

ответ

2

«Устаревший» означает, что что-то старая мода, которые, возможно, не будет поддерживаться будущими версиями PHP это делается. Это не должно быть вредным, но нужно заботиться простыми разработчиками. Вы загрузили последнюю версию simpletest? Если вы хотите это понять, взгляните на unit_tester.php на линии 74 и 89.

0

Вы уверены, что используете 5.2, а не 5.3, при выполнении модульных тестов? Кажется, я помню, как эти ошибки встречались с пакетами PEAR под версией 5.3.

0

У меня также была эта проблема, проходя через простейший учебник.

Чтобы убрать эти сообщения, я изменил настройку display_errors = On в своем файле php.ini на номер display_errors = Off.

1

Вместо того, чтобы отключать все ошибки, просто switch off deprecation warnings. Альтернативой является поиск и замена всех самых простых файлов: найти «& новый» и заменить «новым». new по ссылке (&new) был только deprecated in PHP5.3, поэтому, надеюсь, это будет исправлено в следующем выпуске SimpleTest.

+0

Использование '& new' не требуется с момента выпуска PHP 5.2 (и уже до PHP 5.0 в целом, но с некоторыми проблемами). Получение предупреждения об устаревании для этих вещей является признаком того, что вы видите код PHP 4, который может извлечь выгоду из некоторых новых функций языка. Отключение предупреждений об отставке скроет эти преимущества и, поскольку это связано с тестированием, скроет важную информацию для тестируемой системы. – hakre

 Смежные вопросы

  • Нет связанных вопросов^_^