有没有办法在PL / SQL中为dev应用TDD技术

时间:2011-09-16 04:01:02

标签: database oracle unit-testing plsql tdd

由于我在PL / SQL的DB-server-side中有很多程序逻辑,我想知道TDD是否适用于PL / SQL。如果你指出一些有样本和详细描述的信息资源,那就更上帝了。提前谢谢!

UPD:我只需要在我的机器上存储和运行测试,不会影响其他团队成员。这可能吗?

1 个答案:

答案 0 :(得分:8)

是的 - 只需应用正常的TDD周期(参见例如wikipedia),如同任何其他编程语言一样:

  1. 添加测试
  2. 运行所有测试并查看新测试是否失败
  3. 写一些代码
  4. 运行自动化测试并看到它们成功
  5. 重构代码
  6. 重复
  7. 你想要unit testing framework当然。不可饶恕,例如StackOverflow包含Unit testing for PL/SQLUnit Testing Framework for Oracle PL/SQL?等问题。你已经检查了那些 - 不是吗?

    非常可能孤立地运行测试。您可能希望拥有专用的Oracle数据库实例或100%受您控制的架构。

    我遇到的唯一棘手的部分是测试一个非常广泛地使用数据库的代码,或者当数据库模式发生很大变化时。如果数据库很复杂或者测试执行需要大量数据,则填充或伪造数据库可能会非常棘手且耗时。在那些情况下,我通常会通过删除使运行测试变得麻烦的约束和触发器来伪造数据库。这很好,因为重点是PL / SQL代码,而不是数据库结构,单元测试不是最后的验证步骤。