如何对Sql Server 2014的数据库代码进行单元测试

Rik*_*iky 0 tfs unit-testing mstest tsqlt sql-server-data-tools

我正在为 Sql Server 2014 中的 db 代码开发单元测试框架。我的要求如下:

  • 该工具应提供足够的断言来检查数据库架构、正值、负值、异常和约束。
  • 该工具应该为数据库存储过程提供模拟和存根
  • 该工具应该能够为通过/失败的测试用例生成 .TRX 报告,因为我想使用 VSTS/TFS 构建发布这些报告
  • 如果可能,代码覆盖率
  • 该工具应该能够与用于 CI 目的的 TFS 构建模板集成。

在做了一些研究之后,我想在工具 SSDT 和 MSTest 和 tSqlT 的帮助下,我有三个选择:

  • 使用 SSDT 进行测试数据库初始化/清理,使用 MsTest 进行 Sql 单元测试,但它没有模拟功能,断言选项也有限。清理也是手动的
  • 将 tSqlT 用于单元测试用例。它是一个不错且功能强大的工具,但它不提供像 SSDT 这样的 GUI。redGate GUI 是付费的,这在我的情况下是不可能的。此外,将它与 TFS 构建集成似乎更难。这不会生成 .TRX 格式的报告,而是 .XML 格式的报告。
  • 使用 SSDT 和 tSqlT 的组合作为 SSDT 进行数据库初始化、TFS 集成和运行来自 MSTest 项目的 tSqlT 代码和用于数据库单元测试的 tSqlT。

任何人都可以在 db 单元测试中提出更好的方法吗?

谢谢

Ed *_*ott 5

Steph locke 几乎已经为你准备好了:

https://itsalocke.com/unit-testing-in-ssdt-a-quick-intro/

强调:

好?

编辑