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

kse*_*een 6 database oracle tdd unit-testing plsql

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

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

use*_*735 8

是的 - 只需应用正常的TDD周期(参见维基百科),就像在任何其他编程语言中一样:

  1. 添加测试
  2. 运行所有测试并查看新测试是否失败
  3. 写一些代码
  4. 运行自动化测试并看到它们成功
  5. 重构代码
  6. 重复

您当然希望拥有一个单元测试框架.毫无疑问,例如StackOverflow有问题,如PL/SQL的单元测试Oracle PL/SQL的单元测试框架?.你已经检查了那些 - 不是吗?

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

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