学习phpunit数据库测试

数据库测试的难点
db中的数据相当于全局变量,所有人所有代码都可以对其进行修改,而且数据随时都在变化;普通的测试方式,无法保证对其进行的测试每次都能通过
需要专门的框架和手段进行保证。

推荐使用dbunit进行db相关测试
dbunit的安装,使用composer:

{
  "require": {
    "phpunit/dbunit": ">=1.2"
  }
}

db测试的主要步骤

1. 建立fixture
2. 业务处理
3. 断言

1. 建立fixture
相当于初始化db,初始化的数据从哪里来? 文本

  • getConnection
  • 读取xml文本(或者:cvs、yaml、mysql导出数据、数组。。。)
  • 将文本内容插入db

这样就能保证,每次开始测试前db中的数据是确定的固定的。

2.业务处理

3.断言

  • 使用框架提供的接口读取: Dataset、DataTable、RowCount
  • 获取expect数据=》从xml文本 or db获取
  • 断言=》以上2者数据进行比对

你可能感兴趣的:(php)