经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » PHP » 查看文章
PHP使用phpunit进行单元测试示例
来源:jb51  时间:2019/9/23 10:38:43  对本文有异议

本文实例讲述了PHP使用phpunit进行单元测试。分享给大家供大家参考,具体如下:

1. linux服务器上安装phpunit

  1. wget https://phar.phpunit.de/phpunit.phar
  2. chmod +x phpunit.phar
  3. sudo mv phpunit.phar /usr/local/bin/phpunit
  4.  

建立phpunit短命令

phpunit --version

  1. [root@dongzi phpunit_test]# phpunit --version
  2. PHPUnit 5.6.1 by Sebastian Bergmann and contributors.

2. 创建单元测试文件

文件名称为UnitTest.php

我们可以在单元测试文件内的方法里面调用功能模块,用数据模拟看是否运行正常,如果通则会报错,断掉

  1. <?php
  2. class UnitTest extends PHPUnit_Framework_TestCase{
  3. public function testPushAndPop(){
  4. $stack = array();
  5. $this->assertEquals(0,count($stack));
  6. array_push($stack,'foo');
  7. //断言插入数据到$stack数组后值是否等于1
  8. $this->assertEquals(1,count($stack));
  9. }
  10. /**
  11. *定义test标签声明该方法是测试方法
  12. *@test
  13. ***/
  14. public function indexEquals(){
  15. $stack = array(1,2,3,4);
  16. //断言$stack[0]等于2
  17. $this->assertEquals(2,$stack[0]);
  18. }
  19. }
  20. ?>
  21.  

3. phpunit运行文件

  1. [root@dongzi phpunit_test]# phpunit UnitTest.php
  2. PHPUnit 5.6.1 by Sebastian Bergmann and contributors.
  3. .F 2 / 2 (100%)
  4. Time: 82 ms, Memory: 6.75MB
  5. There was 1 failure:
  6. 1) UnitTest::indexEquals
  7. Failed asserting that 1 matches expected 2.
  8. /wwwroot/phpunit_test/UnitTest.php:18
  9. FAILURES!
  10. Tests: 2, Assertions: 3, Failures: 1.
  11.  

结果显示测试php文件中共运行两个模块,有一个模块错误

错误测试方法名为indexEquals报错行为18行。

因为因为stack等于0不等于断言的1,所以报错,定位错误成功。

更多关于PHP相关内容感兴趣的读者可查看jb51专题:《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《php优秀开发框架总结

希望本文所述对大家PHP程序设计有所帮助。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号