PHPunit
来源:互联网 发布:办公楼网络进户线 编辑:程序博客网 时间:2024/05/16 07:05
PHPunit
https://phpunit.de/index.html
目标
- 简单! 高效敏捷 代码易写,逻辑简单
- 稳定! 持续集成 提交代码自动生成测试报告
- 清晰! 文档体现 容易理解
数据库测试的难点和解决方案
难点
为以数据库为中心的单元测试将远难于仅基于逻辑程序的单元测试。
对数据库进行测试时,需要处理以下可变因素:
- 清理脏数据
- 准备新数据
- 验证数据状态
而我们的测试代码应当尽可能简短精确,这有若干原因:
- 我们不希望为生产代码的小变更而对测试代码进行数量可观的修改。
- 我们希望在哪怕好几个月以后也能轻松地阅读并理解测试代码
方案
用 PHPunit 提供的 DbUnit 套件来完成上述的事情
- 自动用清理数据库环境 (如果能逻辑清理脏数据是最好的,但目前还不能实现)
- 自动插入测试所需要的行
- 更简单的验证数据库状态
目前发现的缺陷
不支持多数据库连接,还好我们可以封装一个简单的类来让支持这个需要。
目录结构
应用目录结构
.├── applications│ ├── configs│ ├── init│ ├── library│ ├── public│ ├── runtime│ ├── service│ ├── template│ └── tests //单元测试目录├── sdk└── Vipcore
单元测试目录结构
.├── ApiTest //单元测试代码│ ├── Brand │ └── Merchandise ├── bin │ └── phpunit //phpunit包├── DataBase │ └── vipshop //数据库表初始化├── Bootstrap.php //初始化脚本├── phpunit.xml //phpunit 配置文件├── README.md //README└── run-tests.php //执行文件
执行测试
php run-test.php //测试全部用例php run-test.php ApiTest/Brand //测试部分用例php run-test.php ApiTest/Merchandise/MerchandiseTest.php //测试单个文件php run-tests.php ApiTest/Merchandise/MerchandiseTest.php --filter testModifyByMidHasLog //测试单个单元测试
编写测试脚本
数据增删改接口
- 准备数据环境
- 执行测试接口
- 检验数据状态
- 清理数据环境
数据查询接口
- 准备数据环境
- 执行测试接口
- 检验返回状态
- 清理数据环境
Edit By MaHua
0 0
- PHPunit
- phpunit
- 安装PHPUnit
- PHPUnit+HTMLRunner
- PHPUnit系列
- PHPUnit安装
- phpunit是什么?
- PHPUnit manual
- PHPUnit 安装
- phpunit ubuntu
- phpunit - selenium
- phpunit安装
- PHPUnit安装
- phpunit 安装
- phpunit 安装
- phpunit学习
- phpunit安装
- PHPUnit单元测试
- Objective-C中的instancetype和id关键字
- Android 修炼之路
- JavaSE实战——面向对象(中) 抽象类,接口,多态,内部类,匿名内部类
- 传说中Cocoa Touch(201542)
- Win7下使用Putty代替超级终端通过COM串口连接开发板方法
- PHPunit
- lucene 索引查看工具
- PHP之类的构造方法和析构方法
- c++实现线程池
- mysql调优三步曲(慢查询、explain profile)
- 防止网页宽度被撑大
- 黑马程序员-----java-Io流
- CentOS开启SELinux导致samba无法访问的解决办法
- Linux内核源代码情景分析-访问权限与文件安全性