几年来,我一直在使用一个名为qmTest的测试工具,它允许我为一些Firebird数据库进行测试驱动的数据库开发。我为一个新特性(表、触发器、存储过程等)编写了一个测试。直到失败,然后修改数据库,直到测试通过。如果有必要,我在测试上做更多的工作,直到它再次失败,然后修改数据库,直到测试通过。一旦该特性的测试完成并100%通过,我就会将其保存在数据库的其他测试套件中。在继续进行另一个测试或部署之前,我会将所有测试作为一个套件运行,以确保没有任何问题。测试可以依赖于其他测试,并在浏览器中记录和显示结果。
我相信这里没有什么新鲜事。
我们商店的目标是在MSSQLServer上实现标准化,我想使用相同的过程来开发我们的数据库。有没有人知道允许或鼓励这种开发的工具?我相信团队系统是这样的,但我们目前还不拥有它,可能在一段时间内也不会拥有它。
我不反对编写脚本,但我希望有一个更图形化的环境。
有什么建议吗?
发布于 2009-06-22 14:28:31
Team System可能是最知名的解决方案,但您也可以尝试TSQLUnit (SourceForge)。
我自己还没有用过它,但this article在引入它方面做得很好。
发布于 2009-06-22 14:28:45
查看http://www.sqlservercentral.com/articles/Testing/66553/和http://www.sqlservercentral.com/articles/Database+Design/66845/
这是一篇关于在T-SQL中做所有事情的相当粗糙的文章。
你有没有想过仅仅为了测试而使用NHibernate和TestDriven或类似的东西?
发布于 2009-12-17 04:07:11
在我无法访问team system for db pro的项目中,我使用了结合了msbuild的sql脚本和msbuild的sdc任务库(http://www.codeplex.com/sdctasks)。msbuild脚本调用sdc任务,以特定的顺序运行我的sql脚本(例如,create db、create tables等)并且在特定的连接字符串上。脚本总是检查一个对象是否存在,并首先进行拆卸,然后重新构建它。
我放置在常规visual studio数据库项目中的sql和msbuild脚本(它不做任何特殊操作,因此您可以选择使用一个简单的空项目),因此一切都是受源代码管理的。
有了这样一组脚本,您就可以为每次测试运行设置一个新数据库。然后,您可以使用插入脚本用数据填充它,并对它运行单元测试。
这些脚本对于在不同环境中从头开始设置数据库也很有用(DEV/TST/QUA/...)
https://stackoverflow.com/questions/1027484
复制相似问题