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的测试,运行结果如下:

。。。。

详细的使用可以参考官方手册。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。