使用Nunit进行架构和存储过程测试

10

我们有各种系统,其中大部分业务逻辑都在存储过程中。我们需要编写一些测试,以基本检查数据是否按预期方式更改了,当一个存储过程已被运行时。我还想进行一些基本的模式测试、输入和输出参数等。

我一直在研究DBfit和MSTest数据库测试,目前我对两者都不是很满意。我曾经使用过Nunit来测试C#代码,并想知道是否可以使用Nunit来从.NET中测试存储过程(也许使用EF4)

类似这样:

  • 设置数据
  • 检查数据
  • 执行存储过程
  • 检查数据是否发生了变化

这种方法是否适用于测试存储过程?还有其他更好的方法吗?

欢迎提供意见和反馈 :-)

编辑:我还想将其集成到我们使用TeamCity的CI过程中

2个回答

1
是的,您可以在VS和单元测试环境中进行测试。但是,您还可能希望了解tSQLt,这是用于SQL Server的单元测试解决方案。http://tsqlt.org/user-guide/ Red-gate提供了一个SSMS插件来支持该方法。http://www.red-gate.com/products/sql-development/sql-test/ 我发现对SQL部分进行单元测试和性能调整可以独立于.NET单元测试完成。我同意通过CI服务器报告机制与集成并报告成功/失败是值得追求的目标。

1
tSQLt支持CI服务器,例如TeamCity。Dave Green在他的文章中解释了这一点:https://www.simple-talk.com/sql/sql-tools/using-sql-test-database-unit-testing-with-teamcity-continuous-integration/(向下滚动到他谈论JUnit XML格式的一半处)。 - David Atkinson

0

也许 AnyDbTest 对于你来说是关于单元测试的好选择。

对于模式和数据库代码(如存储过程等)的验证,可以使用你喜欢的DB diff tool。或者,你可以看看bsn ModuleStore,它试图解决 SQL Server 数据库的版本控制、更新和模块化问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接