2016-04-04 5 views
1

Как дано в https://phpunit.de/manual/current/en/installation.html#installation.phar.verification, шаги к глобально установить ФАР являются:Невозможно глобально установить более старую версию PHPUnit Phar

$ wget https://phar.phpunit.de/phpunit.phar 
$ chmod +x phpunit.phar 
$ sudo mv phpunit.phar /usr/local/bin/phpunit 
$ phpunit --version 
PHPUnit x.y.z by Sebastian Bergmann and contributors. 

Я последовал выше, но с URL для старой версии, то есть https://phar.phpunit.de/phpunit-old.phar (потому что наша версия PHP старше). Я побежал следующие команды затем -

$ chmod +x phpunit-old.phar 
$ sudo mv phpunit-old.phar /usr/local/bin/phpunit 

Примечание - Мой PHP версии 5.3.29. и раздел «Старая стабильная версия» в phpunit.de говорит, что PHPUnit 4.8 поддерживается на PHP 5.3, PHP 5.4, PHP 5.5 и PHP 5.6.

Выглядит хорошо, пока здесь. Но, бег phpunit --version дает -

PHP Fatal error: require(): Cannot redeclare class phpunit_extensions_database_constraint_tableisequal in /usr/local/bin/phpunit on line 109 
zend_mm_heap corrupted 

Таким образом, вместо того, чтобы перемещение .phar к /usr/local/bin/ (в шаге 3), я был управляющим до сих пор работает это -

$ php phpunit-old.phar –-version 

Я также был в состоянии таким образом, выполняйте мои блок-тесты -

php /home/sandeepan/phpunit-old.phar /var/cake_1.2.0.6311-beta/app/webroot/openx/lib/ad_agencies/unittests/Admarvel_generic_network_test.php 

Но теперь мне нужно интегрировать phpunit с phing. Я хотел бы использовать основные утилиты, предоставляемые PHPUnitTask of phing. Итак, я предполагаю, что phpunit phar должен быть установлен на глобальном уровне.

Я попробовал свою удачу, написав следующее -

<phpunit haltonfailure="true" haltonerror="true" 
              pharlocation="/home/sandeepan/phpunit-old"> 
    <formatter type="plain" usefile="false" /> 
    <batchtest> 
     <fileset dir="${dir.scratchpad}/${dir.subdir}/unittests"> 
      <include name="**/*_test.php"/> 
     </fileset> 
    </batchtest> 
</phpunit> 

Но я получаю эту ошибку -

BUILD FAILED 
... 
: PHPUnitTask requires PHPUnit to be installed 

Update

со ссылкой на stackoverflow.com/a/23410676/351903, я попробовал эту старую версию Phpunit, то есть PHPUnit-3.7.35. Теперь работает phpunit --version. Но я все еще не успеваю использовать PHPUnitTask от Phing. Все еще получаю ошибку PHPUnitTask requires PHPUnit to be installed.

Update 2

Решение, которое работало для меня было с использованием PHPUnit 3.7.35. Кажется, есть некоторая проблема совместимости phing с PHPUnit 4.8.

+0

Использование PHPUnit 3.7.35 исправлена ​​проблема. Источник - http://stackoverflow.com/questions/23377750/phing-cant-see-phpunit/23410676#23410676 –

ответ

-1

Решение, которое работало для меня было с использованием PHPUnit 3.7.35. Кажется, есть некоторая проблема совместимости phing с PHPUnit 4.8.

Источник - Phing can't see PHPUnit

0

Я только что загрузил старый файл PHPUnit, который вы предоставили с сайта phpunit.de, и успешно применил команды, которые вы написали. Запуск phpunit работал как прелесть в моем случае.

Возможно, существует несовместимость между вашей версией PHP и версией PHPUnit, которую вы загрузили?

+0

Моя версия PHP - 5.3.29. и раздел «Старая стабильная версия» в https://phpunit.de/ говорит, что PHPUnit 4.8 поддерживается на PHP 5.3, PHP 5.4, PHP 5.5 и PHP 5.6. –

+0

Похоже, что у вас есть проблема с инструкциями по загрузке/требованию. Не могли бы вы показать нам ваш файл phpunit.xml, если он у вас есть? –

+0

У меня нет phpunit.xml. Это необходимо? –

0

Я не могу воспроизвести проблему, вы можете описать:

$ wget https://phar.phpunit.de/phpunit-old.phar 
--2016-04-07 09:47:35-- https://phar.phpunit.de/phpunit-old.phar 
Resolving phar.phpunit.de (phar.phpunit.de)... 188.94.27.25 
Connecting to phar.phpunit.de (phar.phpunit.de)|188.94.27.25|:443... connected. 
HTTP request sent, awaiting response... 302 Moved Temporarily 
Location: https://phar.phpunit.de/phpunit-4.8.24.phar [following] 
--2016-04-07 09:47:35-- https://phar.phpunit.de/phpunit-4.8.24.phar 
Reusing existing connection to phar.phpunit.de:443. 
HTTP request sent, awaiting response... 200 OK 
Length: 3086772 (2.9M) [application/octet-stream] 
Saving to: ‘phpunit-old.phar’ 

phpunit-old.phar           100%[=====================================================================================================================================>] 2.94M 3.97MB/s in 0.7s  

2016-04-07 09:47:36 (3.97 MB/s) - ‘phpunit-old.phar’ saved [3086772/3086772] 


$ php phpunit-old.phar --version 
PHPUnit 4.8.24 by Sebastian Bergmann and contributors. 
+0

Ничего себе, создатель самого Phpunit! –

+0

Я также могу запустить 'php phpunit-old.phar -version', но не смог запустить' phpunit -version'. –

+0

Что касается http://stackoverflow.com/a/23410676/351903, я хотел бы попробовать с этой старой версией Phpunit, то есть с PHPUnit-3.7.35. Каков URL загрузки для своего пакета phar? –