ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
##总结构## thinkphp5的测试方案分为两个部分一个是单元测试,另一个是集成测试。 建议单元测试对外发布,集成测试对内使用,因为集成测试需要使用持续集成环境,以及一些shell脚本。 ###环境准备### ####单元测试环境准备#### - phpunit 单元测试工具 - phpunit-speedtrap 测试执行时间,当超出执行时间超出某一时间时输出 - vfsStream 用于测试过程中创建虚拟文件,避免权限等问题 ####集成测试环境准备#### - jekins 持续集成环境 - phing php构建脚本 - CodeSniffer 代码规范检测工具 - PHPMD php错误检测工具 ####可能用到的环境#### - PHPDepend php以来分析工具,用于重构 - xhprof 以及xhgui用来查找函数执行效率以及原因 ####基本框架测试#### #####基本框架的测试准备###### - 数据库两份,用于测试逻辑,一份存储测试用例,一份存储期待结果 - 一个精简版的框架或方法,用来测试真正的框架核心 #####基本框架的测试内容及简介###### 以下内容只是定一个大概的测试内容,具体的单元测试用例需要和开发人员一同研讨提供。 - 安装配置 - 测试生成生成的文件是否与预期的相等 - build文件配置测试 - url设计 - 测试生成规则 - 测试访问路径是否与预期相等 - 入口测试 - 重写规则测试 - 文件加载测试 - 自动加载测试 - 命名空间测试(不太好测) - 类库映射测试 - 类库导入测试 - 配置测试 - 配置文件测试 - 路由测试 - 路由模式测试 - 注册路由测试 - 路由规则测试 - 控制器测试 - 访问测试 - 模板和输出测试 - 多层控制器测试 - 空路由和空控制器测试 - 分层次控制器测试 - RESTful测试 - RESTful路由测试 - 模型测试 - 模型定义测试 - 高级模型测试 - 视图模型测试 - 关联模型测试 - 视图测试 - 视图类功能测试 - 主题测试 - 其他渲染引擎测试 - 数据库测试 - 链接测试 - 驱动测试 - 域名部署测试 - 变量输入测试 - I方法测试 - 缓存测试 - 基础功能测试 - 驱动测试 - 日志测试 - 基础功能测试 - 驱动测试 - 行为测试 - 基础行为测试(添加、绑定等) - 语言测试 - 语言包加载测试 - 基础函数测试 注:命名规范我们会在最后用CodeSniffer检测