本文实例讲述了php单元测试配置与使用方法。分享给大家供大家参考,具体如下:
php与其他语言不太一样,单元测试需要自己安装和配置,相对麻烦一点,不过单元测试对于提高库的稳定性和健壮性还是非常给力的,下面教大家怎么配置php单元测试
注意:php需升级到7.1版本以上
配置说明
1.全局安装phpunit命令脚本
1
2
3
4
5
|
$ wget https: //phar.phpunit.de/phpunit-7.0.phar
$ chmod +x phpunit-7.0.phar
$ sudo mv phpunit-7.0.phar /usr/local/bin/phpunit
$ phpunit --version
phpunit x.y.z by sebastian bergmann and contributors.
|
2.全局安装安装phpunit代码
1
|
composer global require phpunit/phpunit
|
3.创建 phpunit.xml放在你的项目根目录, 这个文件是 phpunit 会默认读取的一个配置文件:
1
2
3
4
5
6
7
|
<phpunit bootstrap= "vendor/autoload.php" >
<testsuites>
<testsuite name= "service" >
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
|
4.配置phpstorm单元phpunit.phar路径,languages & frameworks > php > phpuinit
如我的phpunit本地的路径为/usr/local/bin/phpunit
5.配置单元测试类提示,languages & frameworks > php > include path
如我的phpunit包本地的路径为/users/chenqionghe/.composer/vendor/phpunit
6.单元测试编写
1.class为demo的测试类为demotest
2.测试类继承于 phpunit\framework\testcase
3.测试方法
- 必须为public权限,
- 一般以test开头,也可以给其加注释@test来标识
- 在测试方法内,类似于 assertequals() 这样的断言方法用来对实际值与预期值的匹配做出断言。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<?php
use eoffcn\utils\arrays;
use phpunit\framework\testcase;
/**
* array测试用例
* class arraystest
*/
class arraystest extends testcase
{
public function testget()
{
$array = [
1 => [
'b' => [
'c' => 'cqh'
]
],
2 => [
'b' => [
'c' => 'cqh'
] ]
];
$this ->assertequals( 'cqh' , arrays::get( $array , '1.b.c' ));
}
}
|
执行单元测试
1.执行单个文件单元测试
phpstorm方式,当前测试类右键run即可
命令行的方式,进行项目目录执行
1
|
phpunit tests/arraystest.php
|
2.执行全局单元测试
phpstorm方式
命令行方式,命令行下进入当前项目执行
1
|
phpunit
|
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/chenqionghe/p/8984157.html