几年来,我一直在使用一个名为qmTest的测试工具,它允许我为一些Firebird数据库进行测试驱动的数据库开发。我为一个新特性(表、触发器、存储过程等)编写了一个测试。直到失败,然后修改数据库,直到测试通过。如果有必要,我在测试上做更多的工作,直到它再次失败,然后修改数据库,直到测试通过。一旦该特性的测试完成并100%通过,我就会将其保存在数据库的其他测试套件中。在继续进行另一个测试或部署之前,我会将所有测试作为一个套件运行,以确保没有任何问题。测试可以依赖于其他测试,并在浏览器中记录和显示结果。
我相信这里没有什么新鲜事。
我们商店的目标是在MSSQLServer上实现标准化,我想使用相同的过程来开发我们的数据库。有没有人知道允许或鼓励这种开发的工具?我相信团队系统是这样的,但我们目前还不拥有它,可能在一段时间内也不会拥有它。
我不反对编写脚本,但我希望有一个更图形化的环境。
有什么建议吗?
发布于 2010-03-31 01:39:24
我能够充分地apply a test driven development style against SQL Server databases using TSQLUnit。我遵循了与您描述的相同的流程,先编写一个失败的单元测试存储过程,然后进行必要的更改以使测试通过。随着时间的推移,我还建立了一套测试,在执行时验证了在进行任何新的更改时没有损坏。
有一些困难的地方(包括为现有的sprocs编写测试的极端困难),但它特别适用于模式更改。但是,我建议使用T.S.T. the T-SQL Test Too1,它与TSQLUnit (I had to roll my own)不同,它内置了对断言的支持。
https://stackoverflow.com/questions/1027484
复制相似问题