我有 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测试上面的类?
答案 0 :(得分:7)
class ProductTest extends PHPUnit_Framework_TestCase
ProductTest.php
phpunit --verbose ProductTest.php
您的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测试