PHPUnit – 测试SQL查询的有效性

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHPUnit – 测试SQL查询的有效性脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在测试工厂类.
其中一个方法必须将数据加载到另一个方法将实例化的对象的数组中.

方法包含SQL查询,该查询包含必须测试的严重条件. (在这种情况下,只询问“已发布”的记录.例如:WHERE published = 1). sql Query中的这种区别是使该方法与另一种方法不同的唯一细节,我想测试查询执行行为.

现在,我无法真正模拟我的PDO对象并要求它返回一个固定的结果,因为我不会测试MysqL执行查询.这将是一个无用的测试.

这让我认为我需要在其中设置一个带有固定测试数据的静态数据库.我是对的还是我错过了什么?

应该将需要“测试数据库”的测试与自主测试分开吗?

我非常同意不嘲笑PDO.在某些时候,我想确保我的查询对真正的数据库有效.虽然这可能不再是单元测试,但从技上讲.对我而言,它提供了更多知识,我处理数据存储的代码确实可以对数据库起作用.

我倾向于为每个需要与数据库通信的类创建一种数据访问类,从而将大部分业务逻辑与数据库访问代码分离开来.

这样我就可以在测试类时模拟数据访问,然后为每个“数据访问类”设置一个“测试数据库”,看看它们是否有效.

@zerkms答案(1)已经链接http://phpunit.de/manual/current/en/database.html,并且我发现在DB-testing方面唯一有价值的其他资Book Real-World Solutions for Developing High-Quality PHP Frameworks and Applications,其中有一个很大的章节涉及这个主题.

只有当你的测试套件变得非常大并且你有运行时问题迫使你说“甚至打一个测试数据库只需要花费很长时间来进行所有测试,所以我只在连续集成服务器上运行,而不是在开发时.

脚本宝典总结

以上是脚本宝典为你收集整理的PHPUnit – 测试SQL查询的有效性全部内容,希望文章能够帮你解决PHPUnit – 测试SQL查询的有效性所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。