【问题标题】:DB Integration tests with Microsoft .NET使用 Microsoft .NET 进行数据库集成测试
【发布时间】:2011-12-07 16:16:03
【问题描述】:
有没有人有经验在 .NET 中为特定的数据库接口编写集成测试?
具体来说,我有一个 DB 接口,其中包含四个 getter 函数,每个函数都返回一个带有值的表。返回的内容因传递的参数而异。我必须验证一些通用标准是否适用于返回的数据。
我的问题是:
- 我应该使用什么样的测试框架?目前我打算使用MSTest。
- 编写测试时是否有一些一般规则或建议要遵循?
- 你知道我可以使用的任何信息来源吗?
提前谢谢你。
【问题讨论】:
标签:
.net
database
integration-testing
【解决方案1】:
我认为你可以按照正常的排列、动作和断言结构来构建你的测试。
对于每个测试,您首先需要整理数据库中的数据。
然后,您将通过调用要测试的函数并指定一组参数来对这些数据进行操作。
然后断言返回的数据与参数集和所有其他通用标准匹配。
确保测试正常程序流程(数据到位,所有参数均有效)和意外场景(无效参数或数据存储中的无效数据)。
您还需要确保您的数据库在每次测试中都处于一致状态。这可以通过将每个测试包装在 Transaction 中轻松完成(您可以使用 TestInitialize 和 TestCleanup 让这在幕后自动发生)。