PHPUnit是PHP语言的单元测试框架、工具,xunit单元测试工具系列成员之一,可以单独运行在Linux或windows系统下面,也可以集成到zend studio等IDE工具中。
工具下载: https://phpunit.de/index.html
在线手册: https://phpunit.de/manual/4.6/zh_cn/index.html
工具安装参见在线手册文档
在命令行下使用PHPUnit进行单元测试
1、配置好phpunit命令的path等环境变量,确保能在任意目录下执行phpunit命令。
2、直接使用phpunit命令来运行测类文件:
.. 2个测试方法都运行成功
OK 包括2个测试方法,4个断言
- . 当测试成功时输出。
- F 当测试方法运行过程中一个断言失败时输出。
- E 当测试方法运行过程中产生一个错误时输出。
- R 当测试被标记为有风险时输出。
- S 当测试被跳过时输出。
- I 当测试被标记为不完整或未实现时输出。
在zend studio中使用PHPUnit框架
1.为需要进行单元测试的项目添加phpunit的Library。
右键点击项目->properties->PHP Include Path->Libraries选项卡
点击 Add Library... ,选择PHPUnit x.x->Next->Finish
点击OK,phpunit的Library就添加成功了
2、编写测试类( 继承PHPUnit框架的PHPUnit_
待测试的Demo类:
右键点击项目->New->PHPUnit Test Case,新建测试用例类(也可以直接新建普通的PHP File):
可以选择要测的类或函数:
完成后,或自动生成PHPUnit框架代码:
php
require_once 'Demo.php'; //包含被测试的类文件
require_once 'PHPUnit/; //包含框架类库,当在命令行下使用phpunit命令运行单元测试时,无需此条语句
/**
* Demo test case.
*/PHPUnit_
{
/**
*
* @var Demo
*/;
/**
* Prepares the environment before running a test.
*/setUp() //测试前配置测试环境
{
::setUp();
// TODO Auto-generated DemoTest::setUp());
}
/**
* Cleans up the environment after running a test.
*/tearDown() //测试后清理测试环境
{
// TODO Auto-generated DemoTest::tearDown();
::tearDown();
}
/**
* Constructs the test case.
*/__construct() //构造函数
{
// TODO Auto-generated constructor}
/**
* Tests Demo->sum()
*/testSum() //测试方法以test+被测试的方法命名
{
//TODO Auto-generated DemoTest->testSum()
)); //断言
$this ->assertEquals(0, $this ->Demo->sum(0,0));
}
/**
* Tests Demo->subtract()
*/testSubtract()
{
//TODO Auto-generated DemoTest->testSubtract()
));
$this ->assertEquals(0, $this));
}
}
Xunit框架执行顺序:
3、运行单元测试
右键点击测试文件->Run as->PHPUnit Test就可以进行单元测试了:
单元测试运行成功状态(绿色):