用了这么久的php一直都是用xdebug在调试,今天想来试试php单元测试。
安装phpunit
-
为 PHP 的二进制可执行文件建立一个目录,例如
D:\phpunit -
下载 http://phar.phpunit.cn/phpunit-6.2.phar 并将文件保存到 D
:\phpunit\phpunit.phar -
打开命令行
-
建立外包覆批处理脚本(最后得到
C:\bin\phpunit.cmd)C:\Users\Administrator>D: D:\>cd phpunit D:\phpUnit> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
- 新开一个命令行窗口,确认一下可以在任意路径下执行 PHPUnit:

2.编写测试类
新建一个Demo.php文件
<?phpclass Demo{
public function foo(){
return "foo";
}
public function bar(){
return "bar";
}
}
在写一个test.php文件
<?phpinclude "Demo.php";
use PHPUnit\Framework\TestCase;
class TestDemo extends TestCase{
public function testFoo(){
$demo = new Demo();
$this->assertEquals('foo', $demo->foo());//返回foo断言成功
$this->assertEquals('bar',$demo->foo());//断言失败
}
}
在命令行输入phpunit test.php运行

从图中可以看到,断言了2个,失败了一个