Linux下的PHPUnit 4.0手动到底怎么安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下的PHPUnit 4.0手动到底怎么安装相关的知识,希望对你有一定的参考价值。

具体步骤如下:

1、升级pear

pear upgrade PEAR

2.、升级pear安装的包

pear upgrade-all

3.、添加channel

pear channel-discover pear.phpunit.de  
pear channel-discover pear.symfony-project.com  
pear channel-discover components.ez.no

4.、安装phpunit

pear install phpunit/PHPUnit

5、安装成功,使用phpunit命令查看

 phpunit  
PHPUnit 3.5.15 by Sebastian Bergmann.  
  
Usage: phpunit [switches] UnitTest [UnitTest.php]  
       phpunit [switches] <directory>  
  
  --log-junit <file>        Log test execution in JUnit XML format to file.  
  --log-tap <file>          Log test execution in TAP format to file.  
  --log-dbus                Log test execution to DBUS.  
  --log-json <file>         Log test execution in JSON format.  
  
  --coverage-html <dir>     Generate code coverage report in HTML format.  
  --coverage-clover <file>  Write code coverage data in Clover XML format.  
  
  --testdox-html <file>     Write agile documentation in HTML format to file.  
  --testdox-text <file>     Write agile documentation in Text format to file.  
  
  --filter <pattern>        Filter which tests to run.  
  --group ...               Only runs tests from the specified group(s).  
  --exclude-group ...       Exclude tests from the specified group(s).  
  --list-groups             List available test groups.  
  
  --loader <loader>         TestSuiteLoader implementation to use.  
  --repeat <times>          Runs the test(s) repeatedly.  
  
  --tap                     Report test execution progress in TAP format.  
  --testdox                 Report test execution progress in TestDox format.  
  
  --colors                  Use colors in output.  
  --stderr                  Write to STDERR instead of STDOUT.  
  --stop-on-error           Stop execution upon first error.  
  --stop-on-failure         Stop execution upon first error or failure.  
  --stop-on-skipped         Stop execution upon first skipped test.  
  --stop-on-incomplete      Stop execution upon first incomplete test.  
  --strict                  Mark a test as incomplete if no assertions are made.  
  --verbose                 Output more verbose information.  
  --wait                    Waits for a keystroke after each test.  
  
  --skeleton-class          Generate Unit class for UnitTest in UnitTest.php.  
  --skeleton-test           Generate UnitTest class for Unit in Unit.php.  
  
  --process-isolation       Run each test in a separate PHP process.  
  --no-globals-backup       Do not backup and restore $GLOBALS for each test.  
  --static-backup           Backup and restore static attributes for each test.  
  --syntax-check            Try to check source files for syntax errors.  
  
  --bootstrap <file>        A "bootstrap" PHP file that is run before the tests.  
  -c|--configuration <file> Read configuration from XML file.  
  --no-configuration        Ignore default configuration file (phpunit.xml).  
  --include-path <path(s)>  Prepend PHP's include_path with given path(s).  
  -d key[=value]            Sets a php.ini value.  
  
  --help                    Prints this usage information.  
  --version                 Prints the version and exits.  
  
  --debug                   Output debugging information.

参考技术A 解决方法   根据上述出错信息,我们可以知道PEAR DB类安装出错问题所在:是由于在重新安装PEAR时,没有更改PEAR的安装目录环境变量PHP_PEAR_INSTALL_DIR,导致PEAR命令无法正常使用。   提示告诉我们可以通过修改pear.bat中的PEAR安装环境变量PHP_PEAR_INSTALL_DIR的值来解决此问题。   右击pear.bat,选择编辑,即可以记事本方式打开此批处理文件。找到   REM Check PEAR global ENV, set them if they do not exist 修改下面的   IF “%PHP_PEAR_INSTALL_DIR%”==”" SET “PHP_PEAR_INSTALL_DIR=E:\phpos\DedeAMPZ\WebRoot\Default\pear” 为   IF “%PHP_PEAR_INSTALL_DIR%”==”E:\phpos\DedeAMPZ\Program\PHP5\pear” SET “PHP_PEAR_INSTALL_DIR=E:\phpos\DedeAMPZ\WebRoot\Default本回答被提问者和网友采纳 参考技术B ubuntu下直接运行下列命令即可安装好phpunit
sudo apt-get install phpunit
这种方法是最简单的,另外也可以下载离线包来安装
1.设置一些符号
$PHP_HOME PHP安装目录
$PHPUNIT_HOME PHPUnit安装目录
2.下载源码3.4版本的,下载地址:http://pear.phpunit.de/
3.解压PHPUnit到机器任意目录,个人建议解压到$PHP_HOME/lib目录下,这样便于管理所有的第三方php库。假设已经解压后的$PHPUNIT_HOME设为 $PHP_HOME/lib/PHPUnit-3.4.10。
4.修改$PHPUNIT_HOME /phpunit.php文件
#!/usr/bin/env php
<?php
/*
* 此处省去注释~~~~
*/
if (extension_loaded('xdebug'))
ini_set('xdebug.show_exception_trace', 0);

set_include_path(dirname(__FILE__) . PATH_SEPARATOR . get_include_path());
require_once 'PHPUnit/Util/Filter.php';
PHPUnit_Util_Filter::addFileToFilter(__FILE__, 'PHPUNIT');
require 'PHPUnit/TextUI/Command.php';
define('PHPUnit_MAIN_METHOD', 'PHPUnit_TextUI_Command::main');
PHPUnit_TextUI_Command::main();
?>
5.将$PHPUNIT_HOME/ phpunit.php文件名称修改为$PHPUNIT_HOME/ phpunit
6.设置环境变量PATH,将目录$PHPUNIT_HOME/添加到PATH中。比如,可以修改~/.bashrc文件,然后source ~/.bashrc使修改生效,修改后的~/.bashrc文件
7.验证:配置PHPUnit后,可以在任意目录下输入phpunit命令,如果看到提示就说明成功了

安装并使用PHPunit

一、Linux 下安装PHPunit

PHP 档案包 (PHAR) 
要获取 PHPUnit,最简单的方法是下载 PHPUnit 的 PHP 档案包 (PHAR),它将 PHPUnit 所需要的所有必要组件(以及某些可选组件)捆绑在单个文件中:

要使用 PHP档案包(PHAR)需要有 phar 扩展。

要使用 PHAR 的 –self-update 功能需要有 openssl 扩展。

如果启用了 Suhosin 扩展,需要在 php.ini 中允许执行 PHAR:

suhosin.executor.include.whitelist = phar 
如果要全局安装 PHAR:

$ wget https://phar.phpunit.de/phpunit.phar
$ chmod +x 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. 
也可以直接使用下载的 PHAR 文件:

$ wget https://phar.phpunit.de/phpunit.phar 
$ php phpunit.phar –version 

PHPUnit x.y.z by Sebastian Bergmann and contributors.(笔者的版本是PHPUnit 8.2.2 by Sebastian Bergmann and contributors.) 
注意:PHPunit是有对应版本的最新的版的支持php7.* 官方建议我们安装最新版php,当然不一样要安装最新的只是如果你的版本是php6.*+最好下载最新的PHPunit

二、Windows下安装PHPunit

1、为 PHP 的二进制可执行文件建立一个目录,例如 D:\app\bin

2、将 D:\app\bin 添加加到 PATH 环境变量中(这样PHPunit全局生效)

3、下载 https://phar.phpunit.de/phpunit.phar 并将文件保存到 D:\app\bin\phpunit.phar(注意下载下来一般是phpunitx.y.phar,带版本号的,名字要和下面命令执行的文件一直不然执行命令会找不到文件以至于提示could not open file ….)

4、打开命令行(例如,按 Windows+R » 输入 cmd » ENTER)

建立外包覆批处理脚本(最后得到 D:\app\bin\phpunit.cmd):

C:\Users\username> cd D:app\bin
C:\bin> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
C:\bin> exit

重新打开一个命令行窗口,确认一下可以在任意路径下执行 PHPUnit:

 C:\Users\username> phpunit --version 

PHPUnit 8.2.2 by Sebastian Bergmann and contributors. 
注:如果全局下不能运行,那就到之前生成的目录下运行试试,如:(还不行就是上述步骤出错了,仔细检查下)

 C:\Users\username> cd D:app\bin
 D:\app\bin phpunit --version

三、编写测试

创建文件StackTest.php

use PHPUnit\Framework\TestCase;
    class StackTest extends TestCase
    
        public function testPushAndPop()
        
            $stack = [];
            $this->assertEquals(0, count($stack));

            array_push($stack, ‘foo‘);
            $this->assertEquals(‘foo‘, $stack[count($stack)-1]);
            $this->assertEquals(1, count($stack));

            $this->assertEquals(‘foo‘, array_pop($stack));
            $this->assertEquals(0, count($stack));
        
    
    ?>

进行测试

C:\Users\ivy>phpunit d:/project/test/test/StackTest.php
PHPUnit 8.2.2 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time: 2.61 seconds, Memory: 10.00 MB

OK (1 test, 5 assertions)

PHPunit的安装和编写测试已经完成了。具体的操作请查看官方手册。 
官网手册

以上是关于Linux下的PHPUnit 4.0手动到底怎么安装的主要内容,如果未能解决你的问题,请参考以下文章

“工业4.0”下的制造业数据化管理

如何禁用Ubuntu下的图形界面X11.设置成手动

ubuntu安装好vmtools怎么共享文件

win7使用VMware安装Linux的Ubuntu版本找不到ISO镜像怎么办,这个是手动下载然后放在安装目录下的吗?

PHPUnit错误:找不到类

linux下的mysql客户端怎么安装