无法在 bash ubuntu 11.10 上运行 phpunit 测试

无法在 bash ubuntu 11.10 上运行 phpunit 测试

我在本地机器上使用 Ubuntu 11.10 作为 root 权限,安装了 xampp 1.7.7 和

在学习站点点关于如何安装 pear 以使用 PhpUnit,我当时没有注意到,但似乎我在 CL 中安装或使用了现有的 php 版本 5.3.6 来执行此操作,而且 pear 安装是基于这个版本构建的,在安装 xampp 时,我现在有两个版本的 php,xampp 的 5.3.8 和 5.3.6,无论如何,我想要做的是使用现有的 xampp php 版本并在其上构建 pear,以便通过 xampp 完成我所有的工作。所以我的问题是:

  1. 如何卸载 php V5.3.6 及其 pear 安装?
  2. 如何将CL与xampp的php版本关联起来?
  3. 如何在 xampp 的 php 版本上构建下一个 pear 安装?
  4. 我希望所有 Web 开发工作都通过 xampp 进行,是否还需要卸载其他程序以避免这种混乱?4.

我在 attampet 中做了以下操作来解决这个问题:

  1. 我在 bash 中写了这个:

    gedit ~/.bashrc

  2. 我将其添加到文件末尾~/.bashrc以尝试更改环境路径:

    导出 PATH=/opt/lampp/bin:$PATH 导出 PATH=/opt/lampp/lib/php:$PATH 导出 PATH=/opt/lampp/lib/php/PHPUnit/pearcmd.php:$PATH

  3. 我使用“php -v”和“pear list”检查了 php 和 pear 版本。我得到的输出如下:

    PHP 5.3.8 (cli)(构建于:2011 年 9 月 19 日 13:29:27)版权所有 (c) 1997-2011 The PHP Group Zend Engine v2.3.0,版权所有 (c) 1998-2011 Zend Technologies

对于梨来说:

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. 当我运行时:'phpunit messagetest.php':我得到

    PHP 警告:require_once(PHP/CodeCoverage/Filter.php):无法打开流:第 38 行 /usr/bin/phpunit 中没有该文件或目录

    警告:require_once(PHP/CodeCoverage/Filter.php):无法打开流:/usr/bin/phpunit 第 38 行中没有该文件或目录 PHP 致命错误:require_once():无法打开所需的‘PHP/CodeCoverage/Filter.php’(include_path=‘.:/php/includes:/opt/lampp/lib/php:/opt/lampp/bin:/opt/lampp/lib/php/PEAR’)在/usr/bin/phpunit 第 38 行

  2. 我按照其他问题中的报告运行了以下命令来解决该错误:

    sudo apt-get 删除 phpunit sudo pear 通道发现 pear.phpunit.de sudo pear 通道发现 pear.symfony-project.com sudo pear 通道发现 components.ez.no sudo pear 更新通道 sudo pear 升级所有 sudo pear 安装 --alldeps phpunit/PHPUnit sudo apt-get 安装 phpunit

并将 php.ini 的包含路径更新为:

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

php文件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.php 中的 MessageController 类

<?php

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

我没有使用任何 PHP 框架,我只是让文件和类听起来像它一样,仅此而已。

但我仍然遇到同样的错误:

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

当然,我在这里要求很高,我浪费了很多时间,对此感到非常沮丧,希望你们不会厌倦阅读我的问题,我很感谢你们的帮助

相关内容