TDDD(测试驱动的数据库开发)可以使用哪些工具?

时间:2020-03-06 14:54:18  来源:igfitidea点击:

大约一年前,我学习了Scott Ambler的Refactoring Databases:Evolutionary Database Design。我想到了一个想法,就像我们可以使用TDD开发代码一样,我们可能应该(至少)使用单元测试覆盖数据库,甚至在更改模式之前编写数据库测试,以便进行数据库工作。以及TDD风格。

我真的很喜欢这个主意,并且我已经手工做了一段时间(好,有时我也做了),只是编写了常规的单元测试,碰巧要连接到数据库并根据给定的模式文件检查其结构。但是我还没有找到任何可能有助于自动化该过程的好的数据库变更管理工具包。有人知道吗?

解决方案

我只知道两个单元测试框架:

  • 数据库单元
  • TSQLUnit

对于变更管理,以下是一些推荐工具:

  • Redgate SQL比较
  • ApexSQL
  • 蟾蜍

尽管我不确定这是否真的是我们想要的。

Microsoft的下一版本的Visual Studio for Database应该具有这些功能。

乔恩(Jon)提到,我已经尝试了大多数工具,但是大部分时间都决定使用SMO和SQL命令编写nUnit测试。我通常会验证表的结构,存储的Procs,视图和函数。由于开发人员数据类型的更改,能够显示boss 14损坏的测试使所有工作变得非常值得。

用于PL / SQL的UTPLSQL

工具ounit对Oracle的PL / SQL而言是junit对Java。我们使用它来"利用"我们的数据库调用。我们可以轻松地重复它们,并比较更改代码或者强调数据结构前后的结果。