使用PHPUnit编写PHP单元测试的方法

局限于Java的testng在eclipse中非常强大的手动单测方法这个框框,我试图一直给eclipse安装PHP的测试框架,却发现一直出问题,最后才发觉,PHPUnit的单测思想是直接的脚本测试PHP文件,避免手工的操作。

测试本来就应该自动化,不是吗?所以我接受了PHPUnit的命令行测试方法,而不是在eclipse中手动的右键运行测试。

PHPUnit官网:https://phpunit.de/

使用方法在文档中很明确,加以补充:

1、将PHP的安装目录,加入到Windows的PATH环境变量中

2、任意的建立一个PHP的二进制文件可执行目录,比如c:\bin

3、将c:\bin加入到Windows的PATH环境变量中

4、下载 https://phar.phpunit.de/phpunit.phar 并将文件保存到 C:\bin\phpunit.phar

5、打开命令行(例如,按 Windows+R » 输入 cmd » ENTER)

6、建立外包覆批处理脚本(最后得到 C:\bin\phpunit.cmd):

C:\Users\username> cd C:\bin
C:\bin> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
C:\bin> exit

7、新开一个命令行窗口,确认一下可以在任意路径下执行 PHPUnit:

C:\Users\username> phpunit --version
PHPUnit x.y.z by Sebastian Bergmann and contributors.

如果在任意命令行下,执行phpunit不会报错,就说明安装成功了。

做一下测试,编写一个文件,注意下面的namespace和引入PHPUnit的方法:

<?php

namespace mytest;

/**
 * test PHPUnit
 * 
 * @author www.crazyant.net
 *        
 */
class MyTestClass extends \PHPUnit_Framework_TestCase {
    /**
     * Testing the answer to “do you love unit tests?”
     */
    public function testDoYouLoveUnitTests() {
        $love = true;
        $this->assertTrue($love);
    }
}  

这个文件放置在C:\tmp\test_phpunit.php

然后打开命令行,执行以下命令,即可完成测试:

C:\tmp>cd c:\tmp

C:\tmp>phpunit test_phpunit.php
PHPUnit 5.1.3 by Sebastian Bergmann and contributors.

.
/ 1 (100%)

Time: 106 ms, Memory: 9.50Mb

OK (1 test, 1 assertion)

C:\tmp>

既然命令行可以执行测试,那么当然很方便的将测试命令都写到一个自动化的.bat或者.bash文件中,每次开发完成,执行全量的自动测试即可。

PHPUnit官网地址:https://phpunit.de/documentation.html

 

本文地址:http://crazyant.net/1898.html,转载请注明来源。

相关推荐

《使用PHPUnit编写PHP单元测试的方法》上有1条评论

  1. 现在学校抓早恋抓得比较紧,有一天班主任冲进教室,一拍桌子突然问道:“你们说我丑吗?”全班鸦雀无声,然后他又说:“我这么丑都结婚了,你们着啥急!”

发表评论

电子邮件地址不会被公开。 必填项已用*标注