首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用PHP SimpleTest框架设置数据库测试

如何使用PHP SimpleTest框架设置数据库测试
EN

Stack Overflow用户
提问于 2008-10-06 16:52:44
回答 5查看 4.1K关注 0票数 6

我使用的是SimpleTest,一个基于PHP的单元测试框架。我正在测试新的代码,将处理存储和检索数据库中的网站评论。我不知道如何组织项目来测试数据库访问代码。

我正在寻找任何关于在PHP应用程序中测试数据库代码的最佳实践的建议。例子真的很棒。进一步阅读的网站是很棒的。

非常感谢。:)

EN

回答 5

Stack Overflow用户

发布于 2008-10-08 06:19:49

您可能希望允许PHP创建数据并将数据提供给临时表/数据库,并在该表/数据库上进行测试。这样你就不必手动重置数据库了。大多数框架都有数据库操作库,以使其更容易。它在前端可能需要一些时间,但在以后进行更改时,可以让您更快地进行测试。

票数 1
EN

Stack Overflow用户

发布于 2008-10-06 18:10:58

对数据库的测试通常表明测试不好,可能是因为测试代码中缺少封装。您应该尽可能地将与数据库交互的代码与您的其余代码隔离开来,保持交互层的简单,这样您就可以进行一些非常基本的测试。

换句话说,处理注释的代码不应该与处理数据库交互的代码相同。例如,您可以编写一个通用的表模块,您的注释模型使用该模块来访问数据库。您仍然需要测试表模块,但这应该与注释代码隔离。

票数 0
EN

Stack Overflow用户

发布于 2008-10-06 20:16:56

在测试数据库代码时,最好始终使用相同的数据库作为起点。尤其是在进行单元测试时(我假设这里就是这种情况)。其中一种方法是像Jason建议的那样截断所有的表,但我更喜欢在其中包含一些起始数据。您知道,您总是需要在每个数据库中存在一些“默认”数据。

此外,一些测试只有在完全数据库的情况下才有意义。因此,为这些测试创建一个特殊的数据库实例。在运行一些测试之前,我有大约3到4个不同的数据库可以插入(只需复制文件)。每次都有相同的起点可以确保可重复性。

所以,只需要准备几个数据库状态,这些状态是很好的“起点”,并备份它们。在运行每组测试之前,请还原相应的数据库,然后运行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/175153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档