phpunit是一款轻量级的PHP测试框架,可以生成覆盖率报告可直观查看。
官方文档http://www.phpunit.cn/manual/6.5/zh_cn/index.html
在composer.json文件中修改,添加phpunit依赖
"require-dev": {
"phpunit/phpunit": "6.*"
},
然后执行composer update即可,如果卡太久替换为国内源即可。
项目根目录下创建tests 目录用来存放测试代码。目录结构如下
测试用例文件夹,可以按照一个类一个文件的方式。一般被测试类的后面加上”Test”,例如ExampleTest.php
use PHPUnit\Framework\TestCase;
class ExampleTest extends TestCase {
public function testPushAndPop() {
$stack = 1;
$this->assertEquals(1, $stack);
}
}
use PHPUnit\Framework\TestCase;是必须的,测试类继承于PHPUnit_Framework_TestCase。
测试方法必须为public权限,都是test开头,或者你也可以选择给其加注释@test来表明该函数为测试函数
定义配置参数,范例如下:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap=".vendor/autoload.php">
<testsuites>
<testsuite name="service">
<directory>./test</directory>
</testsuite>
</testsuites>
</phpunit>
使用compser方式的bootstrap设置为vendor/autoload.php就可以,会自动载项目所需依赖。
testsuite是测试套件将多个测试用例分组,可用 --testsuite xx 测试某个测试套件
编写好测试用例后就可以开始测。执行
php ./phpunit-6.5.3.phar -c ./phpunit.xml
这样代表测试用例全部通过
Could not read "/xxxx/phpunit.xml" 确认文件名是否正确,文件名前是否有多余空格.
查看对应版本phpunit文档,使用当前版本所支持的断言
加载更多