ubuntu 12.04 安装phpUnit

Ubuntu上安装

sudo apt-get install phpunit

 

验证PHPUnit安装成功,命令行输入phpunit

$ phpunit

安装成功打印:

PHPUnit 3.6.11 by Sebastian Bergmann.

Usage: phpunit [switches] UnitTest [UnitTest.php]

phpunit [switches] <directory>

 

如果出现如下的错误。

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

PHP Fatal error: require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/bin/phpunit on line 39

更新 chanel 和 pear,来自 Debian 和 ubuntu 社区的方法。测试可用

sudo apt-get remove phpunit
apt-get autoremove
apt-get autoclean

root@ubuntu:~# pear channel-discover pear.phpunit.de
root@ubuntu:~# pear channel-discover pear.symfony-project.com
root@ubuntu:~# pear channel-discover components.ez.no
root@ubuntu:~# pear update-channels
root@ubuntu:sudo pear upgrade-all
root@ubuntu:sudo pear install --alldeps phpunit/PHPUnit  //这个可以省略

root@ubuntu:~# sudo pear install --force --alldeps phpunit/PHPUnit

成功:
root@ubuntu:~# phpunit
    PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on l    ine 1 in Unknown on line 0
    PHPUnit 3.7.14 by Sebastian Bergmann.

 

 

 测试:

class DependencyFailureTest extends PHPUnit_Framework_TestCase
{
    public function testOne()
    {
        $this->assertTrue(FALSE);
    }
 
    /**
     * @depends testOne
     */
    public function testTwo()
    {
    }
}

结果:

root@ubuntu:~# phpunit /home/beyourself/myphp/phpinfo.php 
PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0

PHPUnit 3.7.14 by Sebastian Bergmann.

FS

Time: 0 seconds, Memory: 2.50Mb

There was 1 failure:

1) DependencyFailureTest::testOne
Failed asserting that false is true.

/home/beyourself/myphp/phpinfo.php:24

FAILURES!
Tests: 1, Assertions: 1, Failures: 1, Skipped: 1.

 

 成功的测试例子:

<?php
class ExpectedErrorTest extends PHPUnit_Framework_TestCase
{
    /**
     * @expectedException PHPUnit_Framework_Error
     */
    public function testFailingInclude()
    {
        include 'not_existing_file.php';
    }
}
?>
结果:

phpunit ExpectedErrorTest
PHPUnit 3.7.0 by Sebastian Bergmann.

.

Time: 0 seconds, Memory: 5.25Mb

OK (1 test, 1 assertion)

 解释一个函数:


1.
1
class ArrayHasKeyTest extends PHPUnit_Framework_TestCase 2 { 3 public function testFailure() 4 { 5 $this->assertArrayHasKey('foo', array('ave' => 'baz')); 6 } 7 }
assertArrayHasKey($key,$array) Reports an error identified by $message if $array does not have the $key.

 


1
root@ubuntu:~# phpunit /home/beyourself/myphp/phpinfo.php 2 PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0 3 4 PHPUnit 3.7.14 by Sebastian Bergmann. 5 6 F 7 8 Time: 0 seconds, Memory: 2.50Mb 9 10 There was 1 failure: 11 12 1) ArrayHasKeyTest::testFailure 13 Failed asserting that an array has the key 'foo'. 14 15 /home/beyourself/myphp/phpinfo.php:36 16 17 FAILURES! 18 Tests: 1, Assertions: 1, Failures: 1.
二//
1
class ArrayHasKeyTest extends PHPUnit_Framework_TestCase 2 2 { 3 3 public function testFailure() 4 4 { 5 5 $this->assertArrayHasKey('foo', array('foo' => 'baz')); 6 6 } 7 7 }

 

19 root@ubuntu:~# phpunit /home/beyourself/myphp/phpinfo.php 
20 PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0
21 
22 PHPUnit 3.7.14 by Sebastian Bergmann.
23 
24 .
25 
26 Time: 0 seconds, Memory: 2.50Mb
27 
28 OK (1 test, 1 assertion)

 



posted @ 2013-02-25 16:43  尹少爷  阅读(1936)  评论(2编辑  收藏  举报