【发布时间】:2017-04-07 05:11:23
【问题描述】:
我正在为 Sql Server 2014 中的 db 代码开发单元测试框架。我的要求如下:
- 该工具应提供足够的断言来检查数据库架构、正值、负值、异常和约束。
- 该工具应为 db 存储过程提供模拟和存根
- 该工具应该能够为通过/失败的测试用例生成 .TRX 报告,因为我想使用 VSTS/TFS 构建发布这些报告
- 尽可能的代码覆盖率
- 该工具应该能够与 TFS 构建模板集成以用于 CI 目的。
在做了一些研究之后,我认为借助工具 SSDT 与 MSTest 和 tSqlT 的帮助我有三个选择:
- 使用 SSDT 进行测试数据库初始化/清理和使用 MsTest 进行 Sql 单元测试,但它没有模拟功能,并且断言选项也受到限制。清理也是手动的
- 将 tSqlT 用于单元测试用例。它是一个不错且功能强大的工具,但它不提供像 SSDT 这样的 GUI。 redGate GUI 是付费的,这在我的情况下是不可能的。此外,将它与 TFS 构建集成似乎更难。这不会生成 .TRX 格式的报告,而是生成 .XML 格式的报告。
- 使用 SSDT 和 tSqlT 的组合作为 SSDT 进行数据库初始化、TFS 集成和运行 MSTest 项目中的 tSqlT 代码和 tSqlT 进行数据库单元测试。
任何人都可以提出更好的数据库单元测试方法吗?
谢谢
【问题讨论】:
标签: unit-testing tfs mstest sql-server-data-tools tsqlt