2016-04-04 16 views
1

Wie in https://phpunit.de/manual/current/en/installation.html#installation.phar.verification gegeben, installieren Sie die Schritte, die global das PHAR sind:konnte nicht global installieren ältere Version von 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. 

ich die oben gefolgt, aber mit der URL für die ältere Version, dh https://phar.phpunit.de/phpunit-old.phar (weil unsere PHP Version älter ist). Ich lief die folgenden Befehle dann -

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

Hinweis - Meine PHP-Version 5.3.29 ist. und der alte Stable Release-Bereich in phpunit.de sagt PHPUnit 4.8 wird auf PHP 5.3, PHP 5.4, PHP 5.5 und PHP 5.6 unterstützt.

Sieht gut aus bis hier. Aber gibt phpunit --version läuft -

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

Anstatt also das Bewegen des .phar-/usr/local/bin/ (in Schritt 3), ich war bisher die Verwaltung, indem Sie diese -

$ php phpunit-old.phar –-version 

Ich war auch in der Lage laufen meine Einheit Testfälle auf diese Weise -

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 

Aber jetzt muss ich phpunit mit phing integrieren. Ich möchte die grundlegenden Dienstprogramme verwenden, die von PHPUnitTask of phing zur Verfügung gestellt werden. Also denke ich, dass phpunit phar global installiert werden muss.

versuchte ich mein Glück, indem er die folgenden -

<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> 

Aber ich habe diesen Fehler -

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

aktualisieren

Mit Bezug auf stackoverflow.com/a/23410676/351903, habe ich mit dieser älteren Version von PHP versucht, also PHPUnit-3.7.35. Jetzt funktioniert phpunit --version Befehl. Aber ich habe immer noch keinen Erfolg mit der PHPUnitTask von Phing. Immer noch PHPUnitTask requires PHPUnit to be installed Fehler erhalten.

aktualisieren 2

Die Lösung, die für mich gearbeitet PHPUnit 3.7.35 verwendet wurde. Es scheint, dass es ein Kompatibilitätsproblem von PHP mit PHPUnit 4.8 gibt.

+0

Mit PHPUnit 3.7.35 das Problem behoben. Quelle - http://stackoverflow.com/questions/23377750/phing-cant-see-phpunit/23410676#23410676 –

Antwort

-1

Die Lösung, die für mich gearbeitet PHPUnit 3.7.35 verwendet wurde. Es scheint, dass es ein Kompatibilitätsproblem von PHP mit PHPUnit 4.8 gibt.

Quelle - Phing can't see PHPUnit

0

Ich habe gerade die alte PHPUnit-Datei von der phpunit.de-Website heruntergeladen und die von Ihnen geschriebenen Befehle erfolgreich angewendet. Running phpunit funktionierte in meinem Fall wie ein Zauber.

Vielleicht gibt es eine Inkompatibilität zwischen Ihrer PHP-Version und der PHPUnit-Version, die Sie heruntergeladen haben?

+0

Meine PHP-Version ist 5.3.29. und der Abschnitt Old Stable Release in https://phpunit.de/ sagt, dass PHPUnit 4.8 auf PHP 5.3, PHP 5.4, PHP 5.5 und PHP 5.6 unterstützt wird. –

+0

Es sieht so aus, als ob Sie ein Problem mit den load/require-Anweisungen haben. Können Sie uns Ihre phpunit.xml-Datei zeigen, wenn Sie eine haben? –

+0

Ich habe keine a phpunit.xml. Ist es nötig? –

0

ich das Problem nicht reproduzieren können Sie beschreiben:

$ 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

Wow, der Schöpfer von Phpunit selbst! –

+0

Ich bin auch in der Lage, 'php phpunit-old.phar --version 'auszuführen, aber nicht' phpunit --version 'ausführen zu können. –

+0

Mit Bezug auf http://stackoverflow.com/a/23410676/351903 möchte ich versuchen, mit dieser älteren Version von Phpunit, d. H. PHPUnit-3.7.35. Wie lautet die Download-URL für das phar-Paket? –