Yii2单元测试及PHPstorm+postman+xdebug调试

一、背景

      目前公司开发php项目主流框架为Yii,主流开发工具为phpstorm,Yii2自带单元测试,结合phpstorm的xdebug功能可以做好代码调试,进一步提升代码质量,感兴趣的小伙伴往下看额。

二、Yii2单元测试

  1. Yii2 basic版和advance版集成了Codeception,在项目目录下composer install后会在verdor目录生成Codeception文件夹,如下图:

    同时在项目根目录下会有一个tests文件夹,目录结构如下:

    tests
    --codeception
    ----backend
    --------unit backend单元测试文件目录
    ------------_bootstrap.php backend单元测试所需变量定义,执行run->Codecept::run()->runSuite()->SuitManager::initialize()触发SUITE_INIT事件,此时加载这里的_bootstrap文件,注意:此处文件名称应与yml文件中指定的settings:bootstrap一致,否则抛异常
    ------------TestCase.php 继承自yii\codeception\TestCase,指定了配置文件为'@tests/codeception/config/backend/unit.php'
    ------------DbTestCase.php 继承自yii\codeception\DbTestCase,指定了配置文件为'@tests/codeception/config/backend/unit.php'
    --------acceptance backend验收测试文件目录
    --------functional backend功能测试文件目录
    --------_bootstrap.php 执行build命令时若codeception.yml文件指定了settings:bootstrap则在此时加载其内容,参见Codeception\Configuration::config()
    --------codeception.yml backend所有测试的测试配置信息
    --------unit.suite.yml backend所有单元测试套件的测试配置信息
    --------acceptance.suite.yml backend所有验收测试套件的测试配置信息
    --------functional.suite.yml backend所有功能测试套件的测试配置信息
    ----config
    --------backend
    ------------unit.php backend单元测试指定的配置文件
    ------------acceptance.php backend验收测试指定的配置文件
    ------------functional.php backend功能测试指定的配置文件
    ------------config.php backend所有测试均需设置的配置信息
    --------frontend
    ------------配置结构同backend
    --------acceptance.php 面向所有验收测试的配置信息
    --------functional.php 面向所有功能测试的配置信息
    --------unit.php 面向所有单元测试的配置信息
    --------config.php 面向所有测试的公共配置信息
    --codeception.yml 执行所有测试的测试配置信息

  2. 用命令行生成测试文件

  3. 写点业务代码,待会测试用
  4. 命令行运行测试单元查看测试是否通过
  5. 个人总结

           Yii2自带的单元测试需要大家先准备好入参,出参,业务代码,稍显麻烦,更多玩法大家自行琢磨。不想准备出参?那就来个方便的吧。

三、phpstorm+postman+xdebug调试代码

  1. php安装xdebug扩展
    这个比较简单,自行百度,Linux:https://www.cnblogs.com/suan07lai/articles/4911296.html
    修改php.ini,如下:
  2. phpstorm配置xdebug



  3. postman设置
  4. 效果
  5. 总结
    phpstorm+xebug原理如下图:

    phpstorm+postman是php开发人员的利器,再加上xdebug,将会让我们的开发更方便,更安全,到底有多爽据说试过的人才知道。

四、总结

       以上为Yii2单元测试和代码调试的图文教程,做好单元测试和代码调试将会使你的代码质量更上一层楼,抓紧时间试试吧。

 

posted @ 2019-04-11 09:52  炫彩年华  阅读(741)  评论(0编辑  收藏  举报