2011-04-05 93 views
4

问候;
我在写我的集成测试,所以我想知道集成测试数据库驱动的PHP网站的最佳做法是什么?我应该在每个测试中分别在setup()和teardown()中添加和删除数据,还是应该在测试之前将测试数据输入到测试数据库?
我不是问使用什么工具,而是使用方法。提前致谢。集成测试数据库驱动的php的最佳做法是什么?

回答

0

在我看来,用于测试的策略,是一个非常个人化的团队决策。通常在我的项目中,我使用BDD(行为驱动开发)来保证API的功能。

例如(CRUD的特点):

  • 我创建使用服务(banana.create)
  • 我列出所有提交的数据(banana.list)的新数据,并检查是否存在新数据然后
  • 我使用过滤器(banana.list?id = xxx)列表并检查响应结构是否正确
  • 我删除了该行(banana.delete)并使用列表的服务检查它...

而对于具体使用模拟的概念模型的组成部分我使用TDD(测试驱动开发)...

但是,主要的困难是在应用程序的设计......没有测试:d

[]的

+0

嗨菲利普,感谢您的答复,我有一套完整的单元测试为我的db类,但他们使用模拟db连接,因此需要执行测试来验证sql的作品。我可以预先填充或每次添加和删除它。不知道哪个最好是我发布这个问题的原因。 – Jim 2011-04-05 18:53:04

+0

Jim,你应该使用数据库事务(例如:在setUp和tearDown中的回滚开始)。但我更喜欢使用带有一些模板数据的数据库并恢复它们。 – 2011-04-05 18:58:41

相关问题