php simpletest 测试数据库,如何使用PHP SimpleTest框架设置数据库测试

这是一个老问题,但我想我会添加一些我们对此有的具体经验.

其他海报在技术上是正确的,这是一种集成测试的形式,但从我坐在那里的MySQL经常有太多的逻辑在单元测试中被删除.如果您像我们一样拥有大量复杂的服务,这些服务严重依赖于MySQL(通常每个服务有几个表),那么拥有一个包含测试查询逻辑的强大测试框架非常方便.我们在单元测试中模拟了大量的依赖项,但不是MySQL.

我们有一组包装simpletest的类来提供这个功能.它的工作原理如下:

>创建每个数据库表的说明存储在tests / etc / schemas / table.sql中的文件中.它包含架构数据以及测试期望找到的所有固定数据的插入.

>每个需要数据库的测试都会扩展一个Test_DbCase类,该类提供构建表的功能.

>引导类负责在构造和销毁时创建和删除数据库.

>在运行时,测试调用setUp方法中的loadTables(‘foo’,’bar’)来执行foo.sql和bar.sql中的sql命令.

>对罐装数据进行测试……其余的显而易见.

我们拥有的另一个工具是bash脚本,可以更轻松地创建table.sql文件.这非常方便,因为否则我们会手动编写SQL – 您可以使用现有的一组表,在MySQL中设置所有数据,然后将其导出以基本创建测试文件.

这对我们来说非常有效,尽管我们最终不得不自己滚动很多.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值