用了这么久的php一直都是用xdebug在调试,今天想来试试php单元测试。
安装phpunit
-
为 PHP 的二进制可执行文件建立一个目录,例如
D:\phpunit
-
下载 http://phar.phpunit.cn/phpunit-6.2.phar 并将文件保存到 D
:\phpunit\phpunit.phar //linux使用wget下载
-
打开命令行
-
建立外包覆批处理脚本(最后得到
C:\bin\phpunit.cmd
)C:\Users\Administrator>D: D:\>cd phpunit D:\phpUnit> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
- 新开一个命令行窗口,确认一下可以在任意路径下执行 PHPUnit:
2.编写测试类
新建一个Demo.php文件
<?php
class Demo{ public function foo(){ return "foo"; } public function bar(){ return "bar"; } }
在写一个test.php文件
<?php
include "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个,失败了一个