PHPUNIT 单元测试
在windows上的安装可以参考其手册
首先下载phpunit.phar文件
1. 为php的二进制可执行文件建立 一个目录,如C:\bin
2. 将C:\bin添加到系统环境变量中,
3. 打开命令行cmd
4. 新建批处理脚本,C:\bin\phpunit.cmd
cd C:\bin echo @php "%~dp0phpunit.phar" %* > phpunit.cmd exit
在命令提示符后执行以上命令后,会在C:\bin目录下生成 phpunit.cmd文件
5. 打开一个新窗口后,确认一下PHPUNIT在任意路径下可以执行
C:\Users\username> phpunit --version
PHPUnit x.y.z by Sebastian Bergmann.
有此提示后说明PHPUNIT安装成功。
二、编写PHPUNIT测试用例
用PHPUNIT测试数组操作
1.针对类 Class 的测试写在类 ClassTest 中。
2.ClassTest(通常)继承自 PHPUnit_Framework_TestCase。
3.
4.在测试方法内,类似于 assertEquals()(参见附录 A, 断言)这样的断言方法用来际值与预期值的匹配做出断言。
例 2.1. 用 PHPUnit 测试数组操作
<?php class StackTest extends PHPUnit_Framework_TestCase { public function testPushAndPop() { $stack = array(); $this->assertEquals(0, count($stack)); array_push($stack, 'foo'); $this->assertEquals('foo', $stack[count($stack)-1]); $this->assertEquals(1, count($stack)); $this->assertEquals('foo', array_pop($stack)); $this->assertEquals(0, count($stack)); } } ?>
例子中我使用断言的方法assertEquals来断言我期待$stack相关的值
注意代码中高亮的方法indexEquals,它并没有使用test开头,但是我在注释中增加了@test标签,那么phpunit依然会将其作为一个测试方法运行,下面我们来运行方法和运行结果
进入命令行,使用phpunit StackTest来执行StackTest.php的测试,运行结果如下:
。。。。
详细的使用可以参考官方手册。