Phpunit-Tests können nicht auf Bash Ubuntu 11.10 ausgeführt werden


2

Ich arbeite mit Ubuntu 11.10 als root auf meinem lokalen Rechner, ich habe xampp 1.7.7 und installiert

Während ich einem Tutorial auf Sitepoint über die Installation von Pear zur Verwendung von PhpUnit folgte, bemerkte ich es damals nicht, aber es scheint, dass ich eine vorhandene PHP-Version 5.3.6 in CL installiert oder verwendet habe, um dies zu tun. Auch die Pear-Installation wurde erstellt auf dieser version habe ich jetzt, während xampp installiert ist, zwei versionen von php, xampp's 5.3.8 und 5.3.6. auf jeden fall möchte ich die vorhandene xampp php version verwenden und pear darauf aufbauen, um sie zu machen Alle meine Arbeiten über xampp.so sind meine Fragen:

  1. Wie deinstalliere ich PHP V5.3.6 und wie installiere ich Pear?
  2. So verbinden Sie den CL mit dem PHP-Ver. Von xampp?
  3. Wie man die nächste Birneninstallation auf dem PHP-Ver baut. Von xampp?
  4. Ich möchte alle meine Web-Entwickler. Xampp durcharbeiten, gibt es noch etwas, das ich deinstallieren muss, um diese Verwirrung zu vermeiden? 4.

Ich habe im attampet folgendes getan, um das Problem zu lösen:

  1. Ich schrieb dies in Bash:

    gedit ~ / .bashrc

  2. Ich habe das am Ende der ~/.bashrcDatei hinzugefügt, um den Umgebungspfad zu ändern:

    Exportieren Sie PATH = / opt / lampp / bin: $ PATH Exportieren Sie PATH = / opt / lampp / lib / php: $ PATH Exportieren Sie PATH = / opt / lampp / lib / php / PHPUnit / pearcmd.php: $ PATH

  3. Ich habe die PHP- und Birnen-Version mit 'PHP-V' und 'Birnen-Liste' überprüft. Ich habe eine Ausgabe von:

    PHP 5.3.8 (cli) (erstellt: 19. September 2011 13:29:27) Copyright (c) 1997-2011 Die PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

und für Birne:

Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.9   stable
Console_Getopt   1.3.1   stable
PEAR             1.9.4   stable
PHPUnit          1.3.2   stable
Structures_Graph 1.0.4   stable
XML_Util         1.2.1   stable
  1. Wenn ich Folgendes ausführe: 'phpunit MessageTest.php': Ich verstehe

    PHP-Warnung: require_once (PHP / CodeCoverage / Filter.php): Fehler beim Öffnen des Streams: Keine solche Datei oder kein solches Verzeichnis in / usr / bin / phpunit in Zeile 38

    Warnung: require_once (PHP / CodeCoverage / Filter.php): Fehler beim Öffnen des Streams: Keine solche Datei oder kein solches Verzeichnis in / usr / bin / phpunit in Zeile 38 PHP Schwerwiegender Fehler: require_once (): Fehler beim Öffnen von 'PHP / CodeCoverage / Filter' .php '(include_path ='.: / php / includes: / opt / lampp / lib / php: / opt / lampp / bin: / opt / lampp / lib / php / PEAR ') in / usr / bin / phpunit on Zeile 38

  2. Ich habe die folgenden Befehle ausgeführt, wie in anderen Fragen angegeben, um diesen Fehler zu beheben:

    sudo apt-get entfernen phpunit sudo pear channel-entdecken pear.phpunit.de sudo pear channel-entdecken pear.symfony-project.com sudo pear channel-entdecken components.ez.no sudo pear update-kanäle sudo pear upgrade-all sudo pear installiere --alldeps phpunit / PHPUnit sudo apt-get installiere phpunit

und aktualisierter Include-Pfad von php.ini:

include_path = ".:/php/includes:/opt/lampp/lib/php:/opt/lampp/bin:/opt/lampp/lib/php/PEAR"

Die PHP-Datei MessageTest.php:

<?php
  require 'PHPUnit/Autoload.php';
  $path = '/opt/lampp/lib/php/PEAR';
  set_include_path(get_include_path() . PATH_SEPARATOR . $path);

  require_once 'PHPUnit/Framework/TestCase.php';
  require_once 'Message/Controller/MessageController.php';

  class MessageTest extends PHPUnit_Framework_TestCase{
    private $message;
    public function setUp() {
      $this->message = new MessageController();
    }
    public function tearDown() {
    } 
    public function testRepeat(){
      $yell = "Hello, Any One Out There?";  
      $this->message->repeat($yell); //sending a request
      $returnedMessage = $this->message->repeat($yell);//get a response
      $this->assertEquals($returnedMessage, $yell);
    }  
  }
?>

MessageController-Klasse aus MessageController.php, die ich zu testen versuche

<?php

  class MessageController { 
    public function actionHelloWorld() {
      echo 'helloWorld';  
    }
    public function repeat($inputString){
      return $inputString;
    }
  }
  $msg = new MessageController;
?>

Ich verwende kein PHP-Framework, ich habe nur die Dateien und Klassen so klingen lassen, als ob das alles wäre.

Und trotzdem bekomme ich den gleichen Fehler:

PHP Warning:  require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line

Warning: require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 38
PHP Fatal error:  require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='.:/php/includes:/opt/lampp/lib/php:/opt/lampp/bin:/opt/lampp/lib/php/PEAR') in /usr/bin/phpunit on line 38

Klar, ich werde hier anspruchsvoll, ich habe viel Zeit verschwendet und bin darüber sehr frustriert. Hoffentlich wird es euch nicht langweilig, meine Fragen durchzulesen. Ich weiß eure Hilfe zu schätzen


was find / -iname phpunitsagt das
Sathyajith Bhat
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.