PHP单元测试PHPUnit简单入门和使用
一、Composer安装PHPUnit
pratice是我的项目根目录,现将PHPUnit引入到项目中,进入到D:\phpstudy_pro\WWW\pratice,创建vendor目录,专门管理Composer包,在pratice目录下新建comoposer.json,如有则忽略。
composer.json内容如下:
{
"autoload": {
"classmap": [
"vendor/"
]
},
"require-dev": {
}
}
通过Composer的方法将PHPUnit引入到项目中:
composer require --dev phpunit/phpunit ^8
注意:一定要注意PHPUnit版本对应的PHP版本,PHPUnit 9支持7.3、7.4版本,PHPUnit 8支持7.2、7.3、7.4,按需引入即可,具体可参考:http://www.phpunit.cn/。安装完后vendor目录下会有phpunit以及相关的类库也就是包。
二、编写测试用例
pratice项目目录下新建tests/unit目录,创建test.php测试用例
<?php
namespace test\tests\unit;
require_once __DIR__ . '../../../test.php';
use PHPUnit\Framework\TestCase;
class test extends TestCase
{
public function testUnit() {
$obj = new \test\test();
$result = $obj -> returnString();
$this->assertEquals('test', $result);
}
}
编写测试代码,pratice/test.php:
<?php
namespace test;
/**
* 单元测试类
*
* @package test
*/
class test
{
public function returnString() {
return 'test';
}
}
三、测试
运行测试用例,pratice/tests/unit/test.php,在项目目录pratice下执行命令:
php vendor/phpunit/phpunit/phpunit tests\unit\test.php
如果出现报错,可以试下加入环境变量;
echo @php "%~dp0vendor/phpunit/phpunit/phpunit" %* > phpunit.cmd
再次运行,大功告成