如何在命令行开始使用PHPUnit?

时间:2011-01-04 15:01:38

标签: php unit-testing phpunit

我有 MacBook Pro ,已安装 PEAR ,已安装 PHPUnit ,因此在命令行中我可以输入phpunit和我获得用法帮助。

现在我想进行测试,以便我可以从那里构建。

我有一个名为index.php的文件,内容如下:

<?php

require_once '?????';


class Product {

    protected $id;

    public function __construct($id) 
    {
        $this->id = $id;
    }

    public function get_id()
    {
        return $this->id;
    }

}

class ProductTest extends PHPUnit_Framework_TestCase
{
    function testBasis()
    {
        $instance = new Product(1);

        $this->assertInstanceOf('Product',$instance);
        $this->assert($instance->get_id(), 1);
    }
}

在命令行中,我想转到文件所在的目录并键入以下内容:

phpunit ?????

接下来的步骤是什么,以便我能够从命令行使用PHPUnit测试上面的类?

2 个答案:

答案 0 :(得分:7)

  1. 如果您确实安装了phpunit,则不需要包含行。
  2. class ProductTest extends PHPUnit_Framework_TestCase
  3. 保存文件ProductTest.php
  4. 在命令行中使用“cd”浏览到保存ProductTest.php的目录
  5. 如果你真的安装了phpunit,你应该可以输入phpunit --verbose ProductTest.php
  6. 您的ProductTest.php文件必须如下所示:

    <?php
    
    class Product {
    
        protected $id;
    
        public function __construct($id) 
        {
            $this->id = $id;
        }
    
        public function get_id()
        {
            return $this->id;
        }
    
    }
    
    class ProductTest extends PHPUnit_Framework_TestCase
    {
        function testBasis()
        {
            $instance = new Product(1);
    
            $this->isInstanceOf('Product',$instance);
            $this->assertEquals($instance->get_id(), 1);
        }
    }
    
    ?>
    

    在运行phpunit --verbose ProductTest的命令行中,将输出:

    PHPUnit 3.4.13 by Sebastian Bergmann.
    
    ProductTest
    .
    
    Time: 0 seconds, Memory: 6.50Mb
    
    OK (1 test, 1 assertion)
    dorin@ubuntu:/var/www$ phpunit --verbose ProductTest
    PHPUnit 3.4.13 by Sebastian Bergmann.
    
    ProductTest
    .
    
    Time: 0 seconds, Memory: 6.50Mb
    
    OK (1 test, 1 assertion)
    

答案 1 :(得分:0)

我使用these instructions将phpunit版本从3.4升级到3.6,它解决了我的assertInstanceOf缺失函数问题。如果有人来这个线程看同样的问题,应该考虑升级到最新版本的phpunint测试