是否可以单元测试SQL(MS SQL Server 2005)?

时间:2009-02-10 13:23:10

标签: sql-server unit-testing

我们有很多表格,观点和内容。有一些人在同一个数据库上处理不同的东西,有时候,我们改变了搞砸其他工作的东西(比如更改视图中的列,或者将参数更改为存储过程)。

有没有办法让这些检查自动化?我甚至不知道MS SQL的单元测试是否可行,因此任何类型的自动化测试工具都会很好。

感谢。

5 个答案:

答案 0 :(得分:5)

SQLUnit用于单元测试存储过程。

它基于JUnit,因此可以自动化,就像任何JUnit测试都可以自动化一样 - 插入ANT,使用持续集成工具等运行。

答案 1 :(得分:2)

“Data Dude”作为Visual Studio 2008数据库版本的一部分存在。我没有使用它但是理解它非常适合SQL Server单元测试。 http://blogs.msdn.com/gertd/archive/tags/DBUnitTesting/default.aspx

同时查看DotNetRocks节目312 - Andy Leonard对单元测试数据库的看法 http://www.dotnetrocks.com/default.aspx?showNum=312

答案 2 :(得分:1)

答案 3 :(得分:1)

在Red Gate,我们在SSMS中构建了一个单元测试运行器,称为SQL Test,它构建在tSQLt框架之上。我们对想要自动化SQL测试的任何人的反馈感兴趣!有关详细信息,请访问www.sql-test.com

答案 4 :(得分:0)

为了完整性,这里是@DavidAtkinson引用的tSQLt框架的链接。乍一看似乎很有希望,包括提供简单的方法来创建基于真实表格的假表格,将约束移动到假表格等。

我之前使用的是TST,并对此非常满意。但它似乎没有积极开发。

已经有一段时间但我认为我使用TST而非tSQLt的原因是因为TST拥有自己的数据库,而tSQLt被安装到正在测试的数据库中。我喜欢将测试和开发数据库分开的想法。在我的例子中,我有一个带有TST框架的数据库,一个带有我自己的单元测试,以及正在测试的(空)开发数据库。