8. 数据库测试

2018-02-23 16:23 更新

第 8 章 数据库测试

在各种编程语言中,许多入门与中级的单元测试范例都暗示着这样一种信息:很容易用简单的测试来对应用程序的逻辑进行测试。但是对于以数据库为中心的应用程序而言,这与现实相去甚远。一旦开始使用诸如 Wordpress、TYPO3、或 Symfony(配合 Doctrine 或 Propel)之类的东西,就很容易在用 PHPUnit 时碰到超多问题:正是由于这些库和数据库之间实在耦合的太紧密了。

Note

请确保已经安装了 PHP 扩展模块 pdo 和与数据库对应的特定扩展,比如 pdo_mysql。否则以下范例是无法运行的。

你大概会在日常工作面对的项目中经历这一幕。你打算把你那或生疏或纯熟的 PHPUnit 技能用到工作中去,结果被以下问题之一卡住了:

  1. 待测方法执行了一个相当大的 JOIN 操作,并且得到的数据用于计算某些重要的结果。

  2. 业务逻辑中混合执行了 SELECT、INSERT、UPDATE 和 DELETE 语句。

  3. 为了给待测方法建立合理的初始数据,需要在两个以上(可能远超过)表里设置测试数据。

DbUnit 扩展大大简化了为测试设置数据库的操作,并且可以在对数据执行了一系列操作之后验证数据库的内容。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号